[WIP] Build docs using 'fsdocs' tooling

This is work in progress to use the FSharp.Formatting fsdocs default tooling to build the freshest FSharp.Core docs.
The CI in this PR attempts to do this

build dotnet/fsharp feature/docs branch (where we assume latest doc updates have been pushed)

builds FSharp.Formatting master branch

Uses that FSharp.Formatting tool to build the docs for the FSharp.Core built in step 1

See also README.md
@baronfel We will ened to work together to incorporate any improvements made recently, I need to understand what they are

@baronfel Is CI set up for this repo at the moment?  Or do we need to set it up again?

CI is set up to do pushes from master only right now, if we wanted previews of branches we'd need to set that up.
Regarding fixes that happened recently, the only one that's relevant I think is the fix to the search URL path prefixes.
Since the generated site is hosted at a subpath of fsharp.github.io, the path prefix of the site needs to be incorporated into any urls generated by F#F.

@baronfel @cartermp I have pushed the newly generated docs for FSHarp.Core to https://fsharp.github.io/fsharp-core-api-docs
Could you walk through them and note down everything you see that's wrong with them?

@Krzysztof-Cieslak would like your opinion too.

The root source of the template being used is here https://github.com/fsprojects/FSharp.Formatting/blob/master/docs/_template.html

README.md documents how to set up parallel builds

There are many small improvements and likely some snafus

@baronfel I think I'd like to merge this if that's ok.  I do think it's the way we need to go.

It would be great if you could try out the new workflow in README.md and see about making some iterative improvements to the FSharp.Core docs

I'd really appreciate someone with a design eye to take a crack at improving the default temp;ate in FSharp.Formatting.  Some small tweaks can make a big difference.

@baronfel The URLs being produced no longer add FSharp.Core/.  We can add that separately.  Do you know if that's an issue?
e.g. https://fsharp.github.io/fsharp-core-api-docs/reference/fsharp-collections-arraymodule.html
I wonder if we should rename this repo to api-docs or just docs, put the FSharp.Core back in and then make it a host for a whole swathe of F# library docs.
BTW one concern is that index.json is getting quite large  - already 1MB (would compress to 114KB).  There's some unnecessary text in there.  It's brought to the client side fairly eagerly and that might be a significant perf problem

How much of that data is used to populate tooltips? I think we should aim to reduce the size of the payload, so if that part is significant then it shoul dbe cut. Especially since parameters and return types are already there with each entry.

How much of that data is used to populate tooltips? I think we should aim to reduce the size of the payload, so if that part is significant then it shoul dbe cut. Especially since parameters and return types are already there with each entry.

It is the search index.
I'm not going to prioritise it until we know it's an issue, particularly would like to determine if switching between pages causes a re-download.  If it's read only once that's not such a big deal

Gotcha. Looking at the file now
Array.tryPick gives this content:
"Array.tryPick \ntryPick \n
Applies the given function to successive elements, returning the first\n result where function returns Some(x) for some x. If the function \n never returns Some(x) then None is returned.

chooser

The function to transform the array elements into options.

array

The input array.

Returns: The first transformed element that is Some(x).

ArgumentNullException	Thrown when the input array is null.

"
The module entry gives:
| "Array \n
Basic operations on arrays.

\n  See also .\n
 \nArray.Parallel \nParallel \nArray.allPairs \nallPairs \nArray.append \nappend \nArray.average \naverage \nArray.averageBy \naverageBy \nArray.blit \nblit \nArray.collect \ncollect \nArray.compareWith \ncompareWith \nArray.concat \nconcat \nArray.contains \ncontains \nArray.copy \ncopy \nArray.countBy \ncountBy \nArray.create \ncreate \nArray.tryHead \ntryHead \nArray.tryPick \ntryPick \nArray.fill \nfill \nArray.pick \npick \nArray.choose \nchoose \nArray.chunkBySize \nchunkBySize \nArray.distinct \ndistinct \nArray.distinctBy \ndistinctBy \nArray.splitInto \nsplitInto \nArray.empty \nempty \nArray.exactlyOne \nexactlyOne \nArray.tryExactlyOne \ntryExactlyOne \nArray.except \nexcept \nArray.exists \nexists \nArray.exists2 \nexists2 \nArray.filter \nfilter \nArray.find \nfind \nArray.findBack \nfindBack \nArray.findIndex \nfindIndex \nArray.findIndexBack \nfindIndexBack \nArray.forall \nforall \nArray.forall2 \nforall2 \nArray.fold \nfold \nArray.foldBack \nfoldBack \nArray.fold2 \nfold2 \nArray.foldBack2 \nfoldBack2 \nArray.get \nget \nArray.head \nhead \nArray.groupBy \ngroupBy \nArray.indexed \nindexed \nArray.init \ninit \nArray.zeroCreate \nzeroCreate \nArray.isEmpty \nisEmpty \nArray.iter \niter \nArray.iter2 \niter2 \nArray.iteri \niteri \nArray.iteri2 \niteri2 \nArray.last \nlast \nArray.item \nitem \nArray.length \nlength \nArray.tryLast \ntryLast \nArray.map \nmap \nArray.map2 \nmap2 \nArray.mapFold \nmapFold \nArray.mapFoldBack \nmapFoldBack \nArray.map3 \nmap3 \nArray.mapi2 \nmapi2 \nArray.mapi \nmapi \nArray.max \nmax \nArray.maxBy \nmaxBy \nArray.min \nmin \nArray.minBy \nminBy \nArray.ofList \nofList \nArray.ofSeq \nofSeq \nArray.pairwise \npairwise \nArray.partition \npartition \nArray.permute \npermute \nArray.reduce \nreduce \nArray.reduceBack \nreduceBack \nArray.replicate \nreplicate \nArray.rev \nrev \nArray.scan \nscan \nArray.scanBack \nscanBack \nArray.singleton \nsingleton \nArray.set \nset \nArray.skip \nskip \nArray.skipWhile \nskipWhile \nArray.sub \nsub \nArray.sort \nsort \nArray.sortBy \nsortBy \nArray.sortWith \nsortWith \nArray.sortInPlaceBy \nsortInPlaceBy \nArray.sortInPlaceWith \nsortInPlaceWith \nArray.sortInPlace \nsortInPlace \nArray.splitAt \nsplitAt \nArray.sortDescending \nsortDescending \nArray.sortByDescending \nsortByDescending \nArray.sum \nsum \nArray.sumBy \nsumBy \nArray.take \ntake \nArray.takeWhile \ntakeWhile \nArray.tail \ntail \nArray.toList \ntoList \nArray.toSeq \ntoSeq \nArray.transpose \ntranspose \nArray.truncate \ntruncate \nArray.tryFind \ntryFind \nArray.tryFindBack \ntryFindBack \nArray.tryFindIndex \ntryFindIndex \nArray.tryItem \ntryItem \nArray.tryFindIndexBack \ntryFindIndexBack \nArray.unfold \nunfold \nArray.unzip \nunzip \nArray.unzip3 \nunzip3 \nArray.where \nwhere \nArray.windowed \nwindowed \nArray.zip \nzip \nArray.zip3 \nzip3" -- | --
So I think there's definitely room to improve the payload. 1MB isn't too bad I guess, but that is getting into big territory

So I think there's definitely room to improve the payload. 1MB isn't too bad I guess, but that is getting into big territory

Right. My concern is actually more what happens if we also have other community components in the same search index.  But mind you FSHarp.Core is particularly large.
Let's see if it's an issue.  Perhaps just compressing it would be enough

Re: re-downloading - a modern browser should cache it, at least I'm seeing that on firefox

a modern browser should cache it, at least I'm seeing that on firefox

good!  Yes here is is on Chrome:

It's important that static resources like the search index be requested with a cache-busting query parameter, so that if the content changes the url parameter can be changed as well, causing a new fetch of the now-updated resource.
As things stand now, if we change index generation's schema without this additional parameter, previous visitors will be using the cached versions they have.

It's important that static resources like the search index be requested with a cache-busting query parameter, so that if the content changes the url parameter can be changed as well, causing a new fetch of the now-updated resource.
As things stand now, if we change index generation's schema without this additional parameter, previous visitors will be using the cached versions they have.

Cool.  How do we check that?  Here's the request: https://github.com/fsprojects/FSharp.Formatting/blob/master/docs/content/fsdocs-search.js#L14

@baronfel @cartermp Are you both ok with renaming this project to "docs"? (or maybe fsharp-docs since docs clashes with dotnet/docs and others?)  Also is it possible to get docs.fsharp.org  to redirect here?

Note if we want to reduce the size of index.json an easy way is to remove the remarks and exception sections from the search corpus

@baronfel I'll integrate this and let's iterate from here.

Not sure if my opinions are needed. It seems all the decisions have been already made here.

Not sure if my opinions are needed. It seems all the decisions have been already made here.

To be honest I really very much want your opinions, on all aspects....

Are you both ok with renaming this project to "docs"? (or maybe fsharp-docs since docs clashes with dotnet/docs and others?) Also is it possible to get docs.fsharp.org to redirect here?

No. Docs is a general term. Frankly I'm not sure what this repo does at this point other than run a tool in CI, but what it emits is very specific: the API reference for FSharp.Core. The repo should be named according to what it does.
fsharp/core-reference
fsharp/core-api-reference
fsharp/api-reference
fsharp/fsharp-core-reference
fsharp/fsharp-core-library-reference
etc.
docs.fsharp.org also doesn't point anywhere.
I think we need to slow down here and assess what it is we're actually trying to accomplish. Taking broad strokes to build and merge and completely change everything without time for feedback that's been asked for shouldn't be done. Is this:

An FSharp.Core API reference?
A more general API reference for other things in F#?
A general documentation site for F# that also includes FSharp.Core, effectively competing with the MS docs?
A stopgap for when FSharp.Core gets properly ingested into docs.microsoft.com?
A place for people to make meaningful contributions to the docs site? (see here: https://github.com/fsharp/docs/issues/30)
An experiment to test FSharp.Formatting?

At this point I'm not clear about it anymore. The original goal was to act as a stopgap to eventually be subsumed by the MS docs site.

echoing @cartermp's comments here, there have been a lot of changes done quite recently that, to be honest, feel like a regression in some ways.
As an example: the styling we had before was pretty streamlined and looked, if not completely customized for F# at least streamlined and modern. Now what's out and deployed looks spartan, in a not good way.  @Krzysztof-Cieslak spent a lot of time finding an existing design system and making pages based off of that.
Similarly, I liked the older fashion of having namespace-level pages rather than a (potentially very long) scrollbar with all of the namespaces in the library as the top-level landing page.
I usually try to do OSS stuff on the weekend, so weekday stuff is either related to work (and so I can reasonably spend time on it during the workday), or quick, low-effort stuff like the search index fix here a couple days ago.  It's hard for me to stay on top of the scope of the changes here, and it makes me want to invest that time less when changes are merged without time to trial and provide feedback.
I understand that this is an area of focus for you right now @dsyme, and love the changes to F#F overall, but it doesn't feel like I'm a contributor here so much as along for the ride ;)

Cool. How do we check that? Here's the request<EMAIL_ADDRESS>
Regarding this point, I'd suggest that that content rendered by the templating engine:

render the content, and
provide a hashed value for this specific content

Then, when rendering links/src elements to generated content files, append the hash to the query string. This would mean that urls like the one in the search JS you linked would need to be templated as well. Same for css links in the html head elements, etc.

As an example: the styling we had before was pretty streamlined and looked, if not completely customized for F# at least streamlined and modern.

Please redesign the core F#F template and/or CSS for it.  But aim to get that into FSharp.Formatting, so all docs for all sites can make use of it.

...finding an existing design system and making pages based off of that.

Please describe what you have in mind in terms of design - examples to link to, principles, etc.

I think we need to slow down here and assess what it is we're actually trying to accomplish. Taking broad strokes to build and merge and completely change everything without time for feedback that's been asked for shouldn't be done.

I'll start a new thread to discuss the full range of F# documentation and tooling issues.

See #32 for the discussion thread
For now I've renamed the repo to fsharp-core-docs and adjusted the inward links

See #32 for the discussion thread
For now I've renamed the repo to fsharp-core-docs and adjusted the inward links


chore(a11y): add a11y storybook plugin and jsx-a11y lint

Summary
Example of a11y violation!
Before:

After:

Checklist

[ ] Default Story in Storybook
[ ] LivePreview Story in Storybook
[ ] Test Story in Storybook
[ ] Tests written
[ ] Variables from defaultTheme.ts used wherever possible
[ ] If updating an existing component, depreciate flag has been used where necessary
[ ] Chromatic build verified by @chanzuckerberg/sds-design

Thanks so much for the quick review, @mmmmmmaya !!


ITK_USE_GPU related issue

Hey, glad to know that ITK got a ITK_USE_GPU option, is cuda supported?
It seems that you'd like to find nvidia's OpenCL with hardcode path, https://github.com/InsightSoftwareConsortium/ITK/blob/fa1082b92953b09c48ae0d65a96ddfbfd33c7c36/CMake/FindOpenCL.cmake#L82
You might wanna use https://cmake.org/cmake/help/v3.14/module/FindCUDA.html to find CUDA. cudafftw is shipped with cuda, so you might wanna take care of https://github.com/InsightSoftwareConsortium/ITK/blob/fa1082b92953b09c48ae0d65a96ddfbfd33c7c36/CMake/FindFFTW.cmake#L61-L85

Cuda is not supported by the ITK_USE_GPU and it's not just a matter of finding the package, the GPU code is specific to the package. OpenCL is compatible with NVidia cards so you might not need to use Cuda to use the GPU code included by ITK_USE_GPU. If you want to use it, Kitware has developped an ITKCudaCommon package which is currently included in RTK, see here.

OK, I see. I'm currently use ocl-icd

If your question has been answered, please close the issue.


RFC: Putting code, tests and docs of plugins next to each other

The files making up a plugin are currently scattered across three different locations:

plugins/ in the lume repository contains the actual code, e.g. plugins/katex.ts
tests/ in the lume repository contains the test code, e.g. tests/katex.test.ts
plugins/ in the lume.land repository contains the documentation, e.g. plugins/katex.md

I think it would make sense to instead put all these files next to each other in this repository, e.g. we could have:

plugins/katex/katex.ts
plugins/katex/katex.test.ts
plugins/katex/README.md

The reasoning being that if you update the code, you likely also should update the tests and the documentation as well and that's easier to do when the files are all next to each other. Putting them next to each other also makes it easier to spot discrepancies. (Especially having the .md files in another repository makes contributing to plugins more difficult since you'd often need two PRs.)

Yeah, it makes sense but I can see some drawbacks:

From users POV, it requires to repeat the plugin name in the imported url. It's clearer to import it from lume/plugins/katext.ts thank lume/plugins/katext/katext.ts.
It's a breaking change: all sites build with Lume would break
Tests are not only a TypeScript file (katex.test.ts) but they need also assets (in /tests/assets) and also generate snapshots.
Some plugins needs other plugins to work. For example, Tailwind requires Postcss, or SourceMap is used by other plugins like Postcss, Esbuild, SASS, etc.
We must to figure out a way to import the plugins documentation in the lume.land site if they are in different repositories.


The result of coco pretrained model is very poor

Hi, I'm sorry to disturb you.
When I train to get the coco pretrained model, I get very poor results.
Just like this:

my training command:
export NGPUS=4
CUDA_VISIBLE_DEVICES=4,5,6,7 python -m torch.distributed.launch --nproc_per_node=$NGPUS tools/train_test_net.py
and my yaml file is:
MODEL:
META_ARCHITECTURE: "GeneralizedRCNN"
WEIGHT: "catalog://ImageNetPretrained/MSRA/R-50"
BACKBONE:
CONV_BODY: "R-50-FPN"
RESNETS:
BACKBONE_OUT_CHANNELS: 256
RPN:
USE_FPN: True
ANCHOR_STRIDE: (4, 8, 16, 32, 64)
ANCHOR_SIZES: (8.31, 12.5, 18.55, 30.23, 60.41)  # adjust here
ASPECT_RATIOS: (0.5, 1.3, 2)                     # adjust here
PRE_NMS_TOP_N_TRAIN: 2000
PRE_NMS_TOP_N_TEST: 1000
POST_NMS_TOP_N_TEST: 1000
FPN_POST_NMS_TOP_N_TEST: 1000
ROI_HEADS:
USE_FPN: True
ROI_BOX_HEAD:
POOLER_RESOLUTION: 7
POOLER_SCALES: (0.25, 0.125, 0.0625, 0.03125)
POOLER_SAMPLING_RATIO: 2
FEATURE_EXTRACTOR: "FPN2MLPFeatureExtractor"
PREDICTOR: "FPNPredictor"
INPUT:
USE_SCALE: True
SCALES: (0.25,)     # here only used for test dataset transform, when scale match on
DATASETS:
TRAIN: ("coco_2014_train", "coco_2014_valminusminival", "coco_2014_minival")
TEST: ("coco_2014_minival",)
DATALOADER:
SIZE_DIVISIBILITY: 32
USE_MORE_DA: 4
USE_SCALE_MATCH: True
SCALE_MATCH:
TYPE: 'MonotonicityScaleMatch'
SOURCE_ANNO_FILE: '/home/zhangyc/datasets/coco/annotations/instances_simple_merge2014.json'
TARGET_ANNO_FILE: '/home/zhangyc/datasets/Tiny/train/annotations/train.json'
BINS: 100
DEFAULT_SCALE: 0.25
SCALE_RANGE: (0.1, 1.)
OUT_SCALE_DEAL: 'clip'
SOLVER:
WARMUP_METHOD: "constant"
TEST_ITER: 10000
CHECKPOINT_PERIOD: 30000
BASE_LR: 0.02
WEIGHT_DECAY: 0.0001
STEPS: (60000, 80000)
MAX_ITER: 90000
IMS_PER_BATCH: 16
NUM_GPU: 4
TEST:
IMS_PER_BATCH: 16
OUTPUT_DIR: 'outputs/tiny_coco/FPN_msm_tiny_b4'
and my training loss is also high:

my log.txt is: log.txt
question:
May I ask if my parameters or training methods are wrong.
Can you give me some suggestion? Thanks!
Look forward to your reply!

Thank you for giving the very great question. I will try to give my understand.

 Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.1353 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.2665 Average Precision  (AP) @[ IoU=0.60      | area=   all | maxDets=100 ] = 0.2160 Average Precision  (AP) @[ IoU=0.70      | area=   all | maxDets=100 ] = 0.1561 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.1223 Average Precision  (AP) @[ IoU=0.80      | area=   all | maxDets=100 ] = 0.0884 Average Precision  (AP) @[ IoU=0.90      | area=   all | maxDets=100 ] = 0.0185 Average Precision  (AP) @[ IoU=0.50:0.95 | area=smallest | maxDets=100 ] = 0.0365 Average Precision  (AP) @[ IoU=0.50:0.95 | area=  fpn1 | maxDets=100 ] = 0.1097 Average Precision  (AP) @[ IoU=0.50:0.95 | area=  fpn2 | maxDets=100 ] = 0.1657 Average Precision  (AP) @[ IoU=0.50:0.95 | area=  fpn3 | maxDets=100 ] = 0.2427 Average Precision  (AP) @[ IoU=0.50:0.95 | area=fpn4+5 | maxDets=100 ] = 0.3061 Average Precision  (AP) @[ IoU=0.50:0.95 | area=largest | maxDets=100 ] = -1.0000 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.1662 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.2555 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.2690 Average Recall     (AR) @[ IoU=0.50:0.95 | area=smallest | maxDets=100 ] = 0.0784 Average Recall     (AR) @[ IoU=0.50:0.95 | area=  fpn1 | maxDets=100 ] = 0.2613 Average Recall     (AR) @[ IoU=0.50:0.95 | area=  fpn2 | maxDets=100 ] = 0.3428 Average Recall     (AR) @[ IoU=0.50:0.95 | area=  fpn3 | maxDets=100 ] = 0.4435 Average Recall     (AR) @[ IoU=0.50:0.95 | area=fpn4+5 | maxDets=100 ] = 0.6048 Average Recall     (AR) @[ IoU=0.50:0.95 | area=largest | maxDets=100 ] = -1.0000 2019-12-10 00:09:51,996 maskrcnn_benchmark.inference INFO: OrderedDict([('bbox', OrderedDict([('AP', 0.13526422595582285), ('AP50', 0.2665151996355452), ('AP75', 0.21595325953126962), ('APs', 0.15608672323490513), ('APm', 0.12231351193679162), ('APl', 0.08839402837425384)]))])
why AP on COCO test is low? Cause the input test image is low resolution which set in config file(the input image size is in (100, 167) in this setting while size of normal coco is in (800, 1333)).
INPUT: USE_SCALE: True SCALES: (0.25,) # here only used for test dataset transform, when scale match on
Is AP on COCO test set important? No, the target of MSM pretrain is not trying to improve performance on COCO test set, but make a better pretrain for your dataset. So in config file, it use distribute of your dataset. low performance on COCO test does not mean low performance on your dataset, you need try.
SCALE_MATCH: TYPE: 'MonotonicityScaleMatch' SOURCE_ANNO_FILE: '/home/zhangyc/datasets/coco/annotations/instances_simple_merge2014.json' TARGET_ANNO_FILE: '/home/zhangyc/datasets/Tiny/train/annotations/train.json'
How can I use AP on COCO test set? I think AP on COCO test can use to debug. Cause if train COCO train set with size in (100, 167), you will get about AP=14,AP50=30(not fine adjust), So if the size range of your dataset is closer to (100, 167), you should get closer performance to this, otherwise lower performance.

Thank you very much for your detailed reply!
I will try to train with my own dataset. If I have some questions, I may continue to disturb you.

@yinglang Hi, I want to trian on my onw datasets with the pretrained MSM COCO weights.
Which yaml file should I choose as the config file?
Should I choose the e2e_faster_rcnn_R_50_FPN_1x_cocostyle_msmb4coco.yaml or other yaml file?
Because when I was training, the program started testing directly.
just like this:

my yaml file is:
MODEL:
META_ARCHITECTURE: "GeneralizedRCNN"
WEIGHT: '/home/zhangyc/TinyBenchmark/tiny_benchmark/outputs/tiny_coco/FPN_msm_tiny_b4/model_final.pth'    # MSM COCO pretrained weights
IGNORE_WEIGHT_KEYS: ["roi_heads.box.predictor"]
BACKBONE:
CONV_BODY: "R-50-FPN"
RESNETS:
BACKBONE_OUT_CHANNELS: 256
RPN:
USE_FPN: True
ANCHOR_STRIDE: (4, 8, 16, 32, 64)
PRE_NMS_TOP_N_TRAIN: 2000
PRE_NMS_TOP_N_TEST: 1000
POST_NMS_TOP_N_TEST: 1000
FPN_POST_NMS_TOP_N_TEST: 1000
ANCHOR_SIZES: (8.31, 12.5, 18.55, 30.23, 60.41)  # (4, 8, 16, 32, 64) will be better
ASPECT_RATIOS: (0.5, 1.3, 2)
ROI_HEADS:
USE_FPN: True
DETECTIONS_PER_IMG: 200
ROI_BOX_HEAD:
POOLER_RESOLUTION: 7
POOLER_SCALES: (0.25, 0.125, 0.0625, 0.03125)
POOLER_SAMPLING_RATIO: 2
FEATURE_EXTRACTOR: "FPN2MLPFeatureExtractor"
PREDICTOR: "FPNPredictor"
NUM_CLASSES: 2                                                    # not forget
INPUT:
USE_SCALE: true
SCALES: (1,)
DATASETS:
TRAIN: ("tiny_train_coco",)
TEST: ("tiny_test_coco",)
DATALOADER:
SIZE_DIVISIBILITY: 32
SOLVER:
CHECKPOINT_PERIOD: 40000
TEST_ITER: 10000
BASE_LR: 0.02
WEIGHT_DECAY: 0.0001
STEPS: (40000, 60000)
MAX_ITER: 80000
IMS_PER_BATCH: 2
NUM_GPU: 2
TEST:
IMS_PER_BATCH: 2
COCO_EVALUATE_STANDARD: 'tiny'  # tiny need change
MERGE_RESULTS: false
MERGE_GT_FILE: ""
IGNORE_UNCERTAIN: false
USE_IOD_FOR_IGNORE: false
OUTPUT_DIR: ./outputs/tiny_set/FPN/baseline2_msmb4coco

I will encounter the above-mentioned problems when I use the MSM COCO model I trained myself, but the above-mentioned problems will not happen if I use the pre-trained model you provide.
In the end I got a okay result.

Thank you very much for your reply every time, it has given me great help!

We are glad that our work can help you.  For your problem, adjust MAX_ITER is not a good idea. It happened because of your saved model have other checkpoint information(like optimizer), you need delete them first, just like following code showing. And 'model_only_model_final.pth' will be ok.
py ckpt_data = torch.load('model_final.pth', map_location=torch.device("cpu")) [ckpt_data.pop(k) for k in kept_data if k != 'model'] torch.save(checkpointer_data,'model_only_model_final.pth')
For the result of your dataset, it looks great. But there are still some miss detections(False negative). And there are too much target in a single image, if you have not cropped it to pieces while testing, You may need adjust these param in config file while training:

PRE_NMS_TOP_N_TRAIN: 2000

and adjust there param while testing

RPN:
PRE_NMS_TOP_N_TEST: 1000
POST_NMS_TOP_N_TEST: 1000
FPN_POST_NMS_TOP_N_TEST: 1000
ROI_HEADS:
SCORE_THRESH = 0.05
DETECTIONS_PER_IMG = 100

Thank you for your reply, I will try it.
At the same time, I plan to use retinanet to implement the effect. Because I found that faster rcnn is slower, retinanet should be faster.

@Pluto1314, can you help me with 2 questions:

How were you able to test it against your own dataset
How to add boxes onto an image after getting predictions with bbox
I'm new to it, so am a bit confused. Any help would be appreciated!

@abhinavchawla13 I'm sorry to reply you so late.
1、I train with my own dataset.
2、may be you can try https://github.com/facebookresearch/maskrcnn-benchmark/blob/master/demo/webcam.py

@Pluto1314 Hello！Your test result looks very good! I am very interested about your work.  Are you directly using the pre-trained model by the author and then fine-tuing on your dataset without any tick?

@422301949 Yes, I used the COCO pre-trained model trained with my own dataset, and then used this model to fine-tuing the dataset. And, I used the xView.


maison verte clones corrections

found spruce syrup (concentrated).
+5ml spruce syrup
+10ml dry vermouth
+1dash celery bitters

or +5ml spruce
much dilution?


Scanning

Using the pump on the Age of Engineering mod pack and not sure if this is something from the mod itself or the pack changes but it starts searching at an Negative Y level whenever I try to use the pull

Read the curseforge page


Add react testing library cheatsheet

Need to have RTL cheatsheet

@astitva0011
If you want, you can take this one

can i add ?

Can I add?

@astitva0011 If you want, you can take this one

ok, thanks!

Raising an issue is not required for contributions. Feel free to raise a PR directly with the resources you think are useful and are free

Closing as PR Got merged


Add support for Gemma 2 templating

Feature request
I'm currently using the Transformers.js engine to turn conversation history for various LLM's into the proper strings to feed them with.
Motivation
Gemma 2 support has just been added to Llama.cpp. and thus to Wllama. I'm doing a quick experiment with adding it to my project, but noticed it's not supported yet.
Your contribution
If you tell/teach me where I can add this to the codebase I could try to do so.

Hi there 👋 I've uploaded the tokenizer files to https://huggingface.co/Xenova/gemma-2-tokenizer, and it's already compatible with Transformers.js :)

You can just update the id in your code and it should work out-the-box!

Thank you!


Handle capitalized HomeKit property names

Description:
The Velux ACTIVE gateway uses C# rather than c# as the name of the property that holds the count of accessories. Apple's HomeKit docs suggest that properties should be case-insensitive, so update the code to not assume the property names are lower case, and add a test for the case insensitivity.
Related issue (if applicable): N/A
Pull request in home-assistant.io with documentation (if applicable): N/A
Example entry for configuration.yaml (if applicable):
N/A
Checklist:

[X] The code change is tested and works locally.
[X] Local tests pass with tox. Your PR cannot be merged unless tests pass
[X] There is no commented out code in this PR.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] New dependencies have been added to the REQUIREMENTS variable (example).
[ ] New dependencies are only imported inside functions that use them (example).
[ ] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[X] Tests have been added to verify that the new code works.

@Jc2k do you have time to review this?

Sure, i'd be happy to.
This is absolutely the right thing to do. I've seen this issue crop up in a few tickets i've been looking at. HA bypasses the zeroconf code in homekit_python in favour of its own, so misses out on the normalization homekit_python does. Unfortunately this isn't factored out in a way that we can reuse it (but that seems like a good idea for the future). So 👍 for this change, please do merge it.
FWIW, I actually have an all but identical fix in place already in my config flow branch here. I've done the tests quite differently, but the actual fix is the same. This is nearly ready but need to work out how to split it up - its over 4k lines.
When we switch over to config flow i'll probably have to back out the test in its current form - setup_test_component will set up entities via a mock config entry. But my branch already has a test for the capitalized case in its config flow tests. So might as well just revert it at that point.


chore(l10n): Update Polish translation before 2.36 release

Ref: https://github.com/newsboat/newsboat/pull/2766#issuecomment-2156020794

coverage: 59.814%. remained the same
when pulling 4043791e93212bc80342a2881cc1268299349a4e on carno:update-pl-locale
into 9e3b14cb94e129acb763244e39d0be2acd879718 on newsboat:master.

Thank you!


Odd strip on left side of image

Along the entire left side of each high resolution image I generate there is a peculiar strip of about a few pixels in width where it appears to be a reflection of somewhere else in the scene. Any idea what could be causing this?
To be clear in the image below, the blue is my desktop wallpaper.

Hi, it is very hard to tell what is exactly happening as I never encountered this precise issue. However, various artefacts are expected to appear on the borders of the output, because these areas could get out of bound of some images of the burst. The optical flow and robustness mask are also estimated on patches that may not perfectly divide the input images, so the estimation in these patches is probably wrong and there is not much that can be done to improve it. I just noticed that the issue is also present in the bottom examples of this page of the demo. It seems to happen only when the robustness mask is deactivated, so I would bet on an optical flow problem. Also, if you see this appearing on the left of the image instead of the right side, it could be because your image has a weird orientation tag in its metadata and it is actually flipped before processing (see here for more detail)


Firebase Integration

Description
MA-2980
Add a description of your changes here.
Notes
How to test this PR
Reviewers
If you've been tagged for review, please "Start a review" with the Github GUI.

Code review: @BenjiLee , @danialzahid94

I guess tests are failing because of something went wrong while rebasing. Opening a new PR to test this.


Upgrade to v3.24.0 of the Google Beta Terraform Provider

Closed via #360

Closed via https://github.com/pulumi/pulumi-gcp/issues/360

I believe this should say https://github.com/pulumi/pulumi-gcp/issues/361.


Show a spinner in lightbox when slow to load

As @sstangl suggested in #2888, when the image in the lightbox takes a while to load,

It would be useful to:

Display something more meaningful than a black screen -- possible a spinner, that a background download is in progress?

This'll be somewhat less common in the medium term as we roll out server-side thumbnailing, but still a fairly common case when people are on slow network connections.
This is a polish feature that would be nice to add.

@borisyankov added, in a comment on #2888:

I was considering showing a low-rez thumbnail while the high-rez one loads, now that we support thumbnailing.

Both steps would be good.


[Suggestion] Add a command line switch to use git submodules for components obtained via git in a git repo

I am working my website, that will use bower components. It is published using GitHub Pages.
Since GitHub Pages uses git to get the webpage code, and a lot of components means a lot of unuseful code, already present in some other git repo, bower could simply update the .gitmodules file, and then do git submodules update to get the components.

sorry, bower doesn't integrate with version control systems that deeply


Process is not defined

Hello,
When migrating from fetchmock v9 to v10 i get this error message when running existing tests

We use jasmine together with spinning up a browser , so no nodejs process is there i guess.
I see here that you migrated to another glob library.
https://github.com/wheresrhys/fetch-mock/commit/d8d8b259fffbd01a03d5c5bf2768ee48797b68bb
Could that be the problem? Thanks in advance.
kind regards, Joost

tnx.. on the first small component i updated to the latest fetch-mock it worked perfect. I'll test larger ones . Tnx  for helping!


Tested on which tooling versions?

Thanks for sharing this code.
It may be a good idea to document what packages should be installed and what are the tools versions you know this example to work.
It is, currently, working for me with the following packages provided by archlinux:
Rust 1.70
Java 8 -- any newer java failed on the final steps
android-ndk r25.c-2  -- lastest version available to Arch
android-platform-25 7.1.1_r03-2 -- 34 is available, but this must match the NDK version
android-sdk 26.1.1-2.1
android-sdk-build-tools-25 r25-1 -- idem
android-sdk-cmdline-tools-latest 9.0-1
android-sdk-platform-tools 34.0.3-1
android-studio 2<IP_ADDRESS>-1
android-tools 34.0.1-2
aarch64-linux-android -- through "rustup target add aarch64-linux-android"

I added BUILD_ANDROID.md with some info.
About your java issues, it seems related to android-studio or maybe your cargo-apk is little outdated.
I'm using cargo-apk v0.9.7 and OpenJDK 18.0.2-ea


add 'VERIFY_AND_CHANGE_EMAIL' linkType for generateEmailActionLink

After doing FR in Issue, I was asked to do PR, so I created a test and responded to the request.
https://github.com/firebase/firebase-admin-go/issues/470
https://github.com/tyahha/firebase-admin-go/commit/2d00814367245fc692bd4fcbb1785411149a1b63#commitcomment-72875565

There are some unnecessary commits again.
So I'll refork and rebuild the PR.


feat: maintain consistency of a wording

As title.
Also, I am joining the "hacktoberfest". It is my pleasure that u can add a label hacktoberfest-accepted to this PR.

Nice improvements. Thanks! 🍕


Change sql command to introduce sleep

The loop we are running is exiting on error, so trying a longer sleep as creating the sql server is not using every time.
Add a brief description of the purpose and contents of the pull request

Changes
Add a summary of the changes in this pull request
Screenshots of UI changes
Before
After
Checklist

[ ] Deploy this branch to the test environment for manual testing once comments have been resolved and checks have passed
[ ] Attach this pull request to the appropriate user story in Azure DevOps
[ ] Update the ADR decision log if needed

This has been fixed in #203 - closing this PR as no longer needed


[server-wallet] Add withdrawal on conclusion

For a directly funded channel, the server wallet requests the chain service to withdraw funds when:

There is a conclusion proof.
We are the first participant.

* We are the first participant.

Is this to avoid two people racing to conclude the channel? (If so, is that a problem?)

* We are the first participant.

Is this to avoid two people racing to conclude the channel? (If so, is that a problem?)

Only one conclude + transfer all transaction needs to be submitted. This is a heuristic to determine which participant submits the transaction.
We can remove the heuristic and allow participants to race to transaction submission. In that case, if a participant submits the transaction and it fails, should the participant retry the transaction? Should the chain service have logic to determine whether one of the conclude + transfer all transactions has already succeeded?

* We are the first participant.

Is this to avoid two people racing to conclude the channel? (If so, is that a problem?)

Only one conclude + transfer all transaction needs to be submitted. This is a heuristic to determine which participant submits the transaction.
We can remove the heuristic and allow participants to race to transaction submission. In that case, if a participant submits the transaction and it fails, should the participant retry the transaction? Should the chain service have logic to determine whether one of the conclude + transfer all transactions has already succeeded?

Yes, presumably the revert reason would indicate whether or not the peer has to retry.
I think the heuristic is fine for the moment. I don't see it as the correct long-term decision.


Extract out fluent client interface

Client interface so that can be extended to any LB
Documentation for the client
Fix link for the CI and installation

LGTM, thanks for this @timusg


Update to jekyll 3.3

Hi,
Just wanted to help on this promising 🇨🇭  theme 😃
Changes are purely functional:

[x] Use Jekyll 3.3 new relative_url filter
[x] Allow to define default language in config file
[x] Fix link to feed
[x] add sitemap
[x] add screenshot as recommended in Jekyll's documentation
[x] cleanup old gem file
[x] bump minor version

I added runtime dependencies only for testing purpose, you might wanna get rid of those.
Feel free to pickup only what you find useful, hope it helps.

I am also interested in seeing this pr merged.


Fixes a problem with subfields that protobuf serialize to 0 bytes.

It's quite normal for repeated/optional fields to mean a message's protobuf serialization is 0 bytes. Previously, serialize checked subfields for 0 byte serialization and ignored them - this caused "empty" objects to be dropped (rather than serialized as (field_number<<3) | length_delimited 0x00). Took the length > 0 test out, added a test case that includes such an empty sub-object and make sure it parses back in correctly.

Ignoring empty messages on course of a serialization I see as an optimization.
What's the point of keeping serialized empty message? What kind of a problem would you like to solve with this change? I don't perceive an empty string as an issue. It essentially means a message is empty 😉

Closing due to the lack of response.


Remove dependencies

In the old thread discussion there was a mention on some deps that could be removed or replaced:

bluebird -> Native Node Promise
promisify-any -> utilis.promisify
statuses -> http.STATUS_CODES

@jankapunkt just to confirm, you are talking about https://www.npmjs.com/package/http-status-codes correct?

Hi @jwerre that's great. We are currently sorting out administrative steps regarding development process, contribution, code quality etc. Feel free to comment on the respective issues / pull requests.

https://github.com/node-oauth/node-oauth2-server/issues/19
https://github.com/node-oauth/node-oauth2-server/issues/20
https://github.com/node-oauth/node-oauth2-server/issues/21


Dispatch redundant with BL CreateSpecialHero

This line is removed:
CampaignEventDispatcher.Instance.OnHeroCreated(hero, false);
It is already called in {BL}.CreateSpecialHero

Closing as this was already in #85


Save cached video to local storage

If i provide a URL link as source to the video, after it has loaded, is it possible to save the video locally, using SQLite storage for example, and be able to play it offline if needed?

An update/info on this @EddieEJ


Children of GridContainer have same position as parent

Godot version:
Tested in 3.1 and 3.1.1
Issue description:

I'm using a GridContainer to arrange nodes in a grid. However, I want to get the world/global position of each child in that container. When I try to do that with get_global_position() I only get the position of their parent node i.e. the container.
The children of the container are TextureRects. TextureRect doesn't have a global_position or position property. You can access rect_position or rect_global_position from Control (which it inherits from), but as I mentioned, that only gives the position/global_position of the parent (i.e. GridContainer), not the position of the TextureRect itself.
I print out the rect_global_position of all children in the GridContainer node and it only gives the position of the GridContainer i.e. (50, 50). This is despite the fact that I can see the TextureRects are actually placed in a grid. I also tried printing rect_position, which just comes out as (0, 0) for all children.
What's really weird about this is if I inspect the nodes during runtime with the remote debug scene the actual values for those nodes' positions are correct.
Can I extract the global position for each child in a GridContainer? Could this be a bug, or am I just misunderstanding how Control and Container nodes work?
The scene tree is:

Control (scene root)

GridContainer

TextureRect00
...
TextureRect33

Minimal reproduction project:
Control_Container_Bug.zip

Could this be a bug, or am I just misunderstanding how Control and Container nodes work?

Layouts update at the end of the frame. You are adding children and immediately checking their position, if you check that in the next frame it works:
func _ready():
	var puzzle = [[1,2,3,4],[1,2,3,4],[1,2,3,4],[1,2,3,4]]
	var size = 4
	set_columns(size)
	var x_region_size = 2
	var y_region_size = 2
	for row_num in range(0, size):
		for col_num in range(0, size):
			var texture_frame = TextureRect.new()
			texture_frame.set_texture(sprite_numbers[puzzle[row_num][col_num]])
			var cell_name = '{x}{y}'.format({"x": col_num, "y": row_num})
			texture_frame.set_name(cell_name)
			add_child(texture_frame)

	self.rect_global_position = Vector2(50, 50)
	call_deferred("test") # !!!!! Call test function on next frame.

func test():
	for child in self.get_children():
		printt(self, " found child: ", child)
		printt(rect_global_position)
		printt(child.rect_global_position)
		printt(child.anchor_left, child.anchor_right, child.anchor_top, child.anchor_bottom)
		print(child.margin_left, child.margin_right, child.margin_top, child.margin_bottom)

Layouts update at the end of the frame. You are adding children and immediately checking their position, if you check that in the next frame it works

Ohhh... thanks for that. I was so confused.
Is this documented anywhere?

Is this documented anywhere?

I don't know, honestly. it doesn't seems so. I'll add the documentation tag


Move away from Guid identifier for RulesFor

[ ] Remove the Identifier and use the types full name (namespace + type name) as default.
[ ] Introduce a new [Rules] that takes one argument; an override of the name. This attribute should be optional and only used for overriding the name.

@einari Shouldn't the task simply be to change RuleId to be a concept of string and change the RuleAttribute instead of introducing a new Rules attribute?

Ohh, I think I see now why we need the Rules attribute for the RulesFor type

Yeah.. This is actually something I had forgotten about. Its two different use-cases.
It doesn't make sense to have two attributes with the same name.
For the existing RuleAttribute we just want to make the Identifier property optional. Default behavior should then be that its identifier is the types fullname (namespace + type name).
The other use case is for a RuleSet, I suggest we call the attribute for this issue RuleSetAttribute.

There a bit mix here in how it's used, for instance RulesFor is for a type, while RuleAttribute is for a property or parameter, thus the strategy of getting the identifier from the type name does not really work? Also the IRule interface with the Identifier probably won't really work with all of these scenarios, so I think there has to be some more thinking behind this. This was a bit more challenging than I anticipated... 😆


Add new terminology - subcellular entity

As discussed offline with @MaaikevS and @lzehl, we should add a new terminology called "subcellular entity" (http://uri.interlex.org/ilx_0111157).
This would include controlled terms such as:

(a)symmetric synapse
neurites
nucleus
mitochondrion
etc.

@MaaikevS would you be able to take care of this?
FYI @tgbugs

@UlrikeS91 Yes, I will take care of this

We need some additional things here. Sorry about the delay.
Generally, when a new terminology is added to the controlledTerms repo, the following 3 things have to be done:

Create the new controlled terms schema for the specific terminology (which has been done in PR #158)
Create the corresponding instances in the terminology folder (here: https://github.com/HumanBrainProject/openMINDS_controlledTerms/tree/v1/instances/terminology)
Create at least one example instances for the new terminology. This way the folder exists and it is easier to understand what the terminology includes. The folder will be https://github.com/HumanBrainProject/openMINDS_controlledTerms/tree/v1/instances/subcellularEntity. The above mentioned examples could be added as such first instances there.

@UlrikeS91 I will take care of this in the next few days. I have been delayed on openMINDS related developments because of last minute other tasks!

@UlrikeS91 Number 1 and 2 of your list were already done a few weeks ago. Number 3 should be taken care of with PR #174

@UlrikeS91 Number 1 and 2 of your list were already done a few weeks ago. Number 3 should be taken care of with PR #174

True. Sorry about that. I must have missed the instance in the terminology folder! Thanks for fixing the PR. I'll review it now.


Re-enable critest GitHub action

What type of PR is this?
/kind ci
What this PR does / why we need it:
Can be merged after https://github.com/cri-o/cri-o/pull/6220
Which issue(s) this PR fixes:

None
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

Codecov Report

Merging #749 (9e479fc) into main (0ad3325) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #749   +/-   ##
=======================================
  Coverage   31.84%   31.84%
=======================================
  Files          13       13
  Lines        1118     1118
  Branches      421      421
=======================================
  Hits          356      356
  Misses        479      479
  Partials      283      283

Green tests, PTAL @haircommander

/lgtm


Get rid of useless? .env file name cache

I may be missing something, but I don't see the point of caching the name of the env file or even to cache it in /tmp because it's shared with every other project where react-native-config might be used and may lead to conflicts.
In my case I've got 2 different projects both using react-native-config, the first one uses 3 different environments and we have 3 different .env (.env.dev, .env.staging, .env.production) and the second one just uses the default .env file.
Because of the library caching the name of the file, I just can't switch from one project to the other without cleaning /tmp/envfile first because i'll end up with empty generated environments.
As far as I can tell, even if the ReadDotEnv script returns that custom_env value, it isn't used anywhere. It seems to me that it makes sense to use whatever is set to ENVFILE or fallback to the default name instead.

I am in favor of this for two different reason. 1. Every time I restart my computer and want to run the iOS simulator, I am having to run the following command before first load every time:
./node_modules/react-native-config/ios/ReactNativeConfig/BuildXCConfig.rb . ios/tmp.xcconfig

Otherwise, the build will be unsuccessful and a huge output of errors happens on RN 64.

Sometimes, when developing, you're adding or changing new environment variables. Because of the cache, the .env variables are not updated automatically. Again, it could be the same bug, but I too don't really see the need for the cache.

I might add this is critical

I keep having build issues because of /temp/envfile, it keeps being blocked during the build

The /tmp/envfile thing isn't useless. It is a bit of a kludge IMO, but it's there to provide a way to have different .env files for different build schemes in Xcode. In the pre-build actions for each scheme, you can have a script that does something like echo .env.staging >/tmp/envfile in a "staging" scheme; and in a "production" scheme that might be echo .env.prod >/tmp/envfile
So if you want to disable the /tmp/envfile stuff, you need to figure out a way to make it opt-out so as to not break apps that use it.

@santiagofm I am stuck at integrating this with diff build variants, when i run from cli it works fine , e.g
ENVFILE=.env.qa react-native run-android --variant=qa_debug
But when i try to run directly from android studio i am not able to get configs. Can you guide me how did you make it work.
issue Check this issue

@mak12 add this line to to your gradle.properties
defaultEnvFile=.env. qa


There was a bug with multiline string protection

I added tests to detect that specific case when using empty strings within backticks ``.
Also aded a test to validate assignation under with statement.

Codecov Report

Merging #106 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #106   +/-   ##
=======================================
  Coverage   56.74%   56.74%
=======================================
  Files          62       62
  Lines        4755     4755
=======================================
  Hits         2698     2698
  Misses       1871     1871
  Partials      186      186

Impacted Files
Coverage Δ

template/razor_repl_expr.go
92.2% <ø> (ø)
:arrow_up:

template/razor.go
62.16% <ø> (ø)
:arrow_up:

template/razor_repl_literal.go
100% <100%> (ø)
:arrow_up:

collections/implementation/base_helper.go
79.5% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Locust web interface not starting on Windows

i am running locust on windows 8.
E:\Downloads\Python\Python programs>locust -f test3.py
[2016-06-22 12:06:08,187] Anup_Deo/INFO/locust.main: Starting web monitor at *:8089
[2016-06-22 12:06:08,187] Anup_Deo/INFO/locust.main: Starting Locust 0.7.5
...And then it never proceeds further. below is my python code for test3.py file
# test3.py

from locust import HttpLocust, TaskSet, task

class UserBehavior(TaskSet):
    def on_start(self):
		# Set any required HTTP Headers
        self.client.headers['Accept-Language'] = "en-US,en;q=0.8"

        # on_start is called when a Locust start before any task is scheduled
        self.login()

		# POST some form data
    def login(self):
        self.client.post("/consumer-portal/",
<EMAIL_ADDRESS>"password":"Cheenu6622##","kaptcha":"aaaaaa","termsAndConditionsAccepted1":"true"})

	# Run this task with weighting 2 (twice as much as the one below)
    @task(2)
    def index(self):
		# GET the home page
        self.client.get("/consumer-portal/")

    @task(1)
    def history(self):
		# GET the Consumer history page
        self.client.get("/consumer-portal/consumer-history/")

class WebsiteUser(HttpLocust):
	# What task class are we running?  (the one above!)
	task_set = UserBehavior

	# What's the minimum wait time between requests?
	min_wait=5000

	#And the maximum
	max_wait=9000

	# What is our base host for testing (prepended to GETs/POSTs above)?
	host="http://<IP_ADDRESS>:7077"

Did you try to access http://<IP_ADDRESS>:8089?
If so, maybe it could be the Windows firewall that is blocking python from listening on ports?
What happens if you run python -m SimpleHTTPServer 8089? Can you access http://<IP_ADDRESS>:8089 then?

thanks heyman.... after accessing http://<IP_ADDRESS>:8089 it is showing Locust web interface as

but while executing it is showing following error:
SSLError(SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)'),),)
I tried to disable HTTP verification by adding following line in my code
import ssl
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = _create_unverified_https_context
but the error is still existing..

pfa screen shot of the error...

Running locust with --web-host localhost solved the issue for me. Quite weird.
Related: #57


Add PHP 8.4 support

Implicitly nullable parameter declarations are deprecated in PHP 8.4. The proposed change is safe and is not considered by PHP as a signature change, see https://php.watch/versions/8.4/implicitly-marking-parameter-type-nullable-deprecated
Unfortunately, this syntax is compatible only with PHP >= 7.1. I propose to raise the minimal PHP requirement to 7.1.

Ping @vearutop .
The deprecation warning on PHP 8.4 is preventing us to active our CI checks on this incoming PHP version. We could still apply manually a patch, but we would prefer to help to fix it in your lib directly.


Audio Output - Camera

First of all, thank you for this absolutely brilliant implementation for node red.
Iám using some Hikvision DS-2CD2686G2-IZSU/SL cameras and would like to use them to signal a possible break-in. I was hoping to be able to control this with the new speaker extension. Is there any way to playback the WAVE files loaded onto the camera via node red? The playback should take place independently of a camera event.

Hi
Currently no. You can only play the files loaded into the speaker.


Queue with Fifo

When I try to do the following I get the following exception when calling the post:
const queue = new Queue(stack, "Queue", {
    consumer: "functions/consumer.main",
    cdk: {
      queue: {
        queueName: "PricingEngineQueue.fifo",
        fifo: true,
      },
    },
  });

"The request must contain the parameter MessageGroupId."

When publishing to a FIFO queue you have to specify a MessageGroupId for it to figure out what group it should place the message (for ordering)
If it's just a single group just specify a static group ID

Thank you


Proselint not working in Atom 1.13.0

Proselint not linting. CLI shows it though :/
Have tested with multiple file extensions

Was it working before updating?

Same for me… I keep getting the following error in the console:
linter-registry.js [sm]:144 [Linter] Error running proselint SyntaxError: Unexpected token C in JSON at position 0
    at JSON.parse (<anonymous>)
    at index.js [sm]:30
    at process._tickCallback (internal/process/next_tick.js:103)
(anonymous) @ linter-registry.js [sm]:144
_tickCallback @ internal/process/next_tick.js:103
Promise.reject (async)
_tickCallback @ internal/process/next_tick.js:103
Promise.reject (async)
_tickCallback @ internal/process/next_tick.js:103
Promise.resolve (async)
_tickCallback @ internal/process/next_tick.js:103
Promise.resolve (async)
step @ /Users/Dan/Library/Application Support/Atom/packages/build/node_modules/sb-exec/lib/index.js:113
(anonymous) @ /Users/Dan/Library/Application Support/Atom/packages/build/node_modules/sb-exec/lib/index.js:113
_tickCallback @ internal/process/next_tick.js:103

macOS 10.12.5 Sierra
Atom 1.19.0-beta1
linter-proselint 3.2.1
> brew install proselint
> which proselint
/usr/local/bin/proselint

I don't think it's a problem with the PATH, as I have env-from-shell running.

@Arcanemagus Anything I can do on the Proselint side to help with this?

@suchow It looks like this is due to the Proselint cache getting corrupted, the full message is:
Could not open cache file C:\Users\username\.proselint\checks.spelling.misc.check, maybe name collision. Error: Traceback (most recent call last):
  File "c:\program files\python36\lib\site-packages\proselint\tools.py", line 56, in _get_cache
    cache = shelve.open(cachepath, protocol=2)
  File "c:\program files\python36\lib\shelve.py", line 243, in open
    return DbfilenameShelf(filename, flag, protocol, writeback)
  File "c:\program files\python36\lib\shelve.py", line 227, in __init__
    Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
  File "c:\program files\python36\lib\dbm\__init__.py", line 94, in open
    return mod.open(file, flag, mode)
  File "c:\program files\python36\lib\dbm\dumb.py", line 324, in open
    return _Database(file, mode, flag=flag)
  File "c:\program files\python36\lib\dbm\dumb.py", line 71, in __init__
    self._update()
  File "c:\program files\python36\lib\dbm\dumb.py", line 106, in _update
    key, pos_and_siz_pair = _ast.literal_eval(line)
  File "c:\program files\python36\lib\ast.py", line 48, in literal_eval
    node_or_string = parse(node_or_string, mode='eval')
  File "c:\program files\python36\lib\ast.py", line 35, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 0

    ^
SyntaxError: unexpected EOF while parsing

Using in-memory shelf for cache file C:\Users\username\.proselint\checks.spelling.misc.check
{"data": {"errors": []}, "status": "success"}

Is that enough to track down the problem? I have an archive of the corrupt cache if you need that.

@fcooper8472, @danielbayley, and @Wardlich it looks like if you rename/delete ~/.proselint this will start working... till it gets corrupted again 😛.

Note that it actually is returning the expected results at the end, but as we are attempting to parse this directly as JSON it is failing.

@fcooper8472, @danielbayley, and @Wardlich it looks like if you rename/delete ~/.proselint this will start working... till it gets corrupted again .

Can confirm that this (at least temporarily) resolves the issue. Thanks!

Closing this, this can only be fixed by proselint itself.


get_address_input crash

binaryninja.interaction.get_address_input crash , macOS 10.14.4, 1.1.1608-dev

This should be fixed in v.1.1.1609


Fix IndexedTableAccess WithChildren

@reltuk I noticed that IndexedTableAccess.WithChildren was returning a ResolvedTable, not an IndexedTableAccess. This seems like the wrong behavior (which I introduced in the first place) and I'm sorry I didn't catch it earlier.

I think we'll pass on this for now.
I agree it does seem incorrect, but this patch is just another kind of incorrect. What's weird here is that we're embedding the ResolvedTable struct, which means we get its Children() method, and since it doesn't have any children, it never gets WithChildren called in the various transform methods. The tests will fail if this ever changes.

What is the correct way to manually traverse sql.Node trees with the current behavior? Should I skip calling WithChildren if len(n.Children()) == 0?
Also, when you say "this patch is just another kind of incorrect", what is incorrect about it? Is it wrong to make WithChildren only work when 0 children are passed in?


Robotium Issues

From<EMAIL_ADDRESS>on December 07, 2011 21:26:42
What steps will reproduce the problem? 1. When execution is in progress, suddenly if unexpected alerts are appeared Robotium does nothing. The entire execution stops there itself, it is not even  going to next tests. Where we need to kick-start the test from beginning. This is really painful for us. Since it involves lots of time and effort. It would be great if you could suggest us some approach to overcome this issue. Basically provide some sample snippet of the code on how we need to use across the all test classes to handle this issue. Any other suggestion would really helps us. Since we have tests which run around more than a day. Basically this issue eats all our time.

How to read the data from android project's folder. Suppose if we have folder called data in my android project , i want to read the file which is residing in that folder. Then input the data in to robotium tests.

How to generate html reports which provides execution summary or any other way for this.?

When execution is in progress, emulator loses its internet connection with out any reason, not sure what might be the problem. I see that internet connection is live in my machine.

Awaiting for your valuable feedback. What is the expected output? What do you see instead? What version of the product are you using? On what operating system? Win 7, Robotium 2.5
Original issue: http://code.google.com/p/robotium/issues/detail?id=192

From<EMAIL_ADDRESS>on December 08, 2011 13:27:55
Unfortunately there is nothing to do if a sudden alert appears. Robotium can not know that it is unexpected or should not have appeared. So basically there is nothing to do about that except for having good internet connections (or mock the test data).  Also I recommend you to use Robotium 3.0 instead.
Status: Invalid


[Ranges] package cannot be found

Describe the bug
In Nuget, the Ranges dependency package cannot be found
https://www.nuget.org/packages/Ranges/

Hello Andy,
For ranges & indicies:
This would only be a required dependancy for .NET ~4.5.2 targets as an external port.
I may have overlooked adding the target rule specific for this framework ver within the MSBuild rules.
Compiler c# 8.0+, this library is built in.
I will repack it in the meantime, there may be a project on my repo list for this.
-Latency
References:
Ranges


[INSTALL]

Instructions
Thank you for submitting an issue. Please refer to our issue policy for information on what types of issues we address.

Please fill in this template to ensure a timely and thorough response
Place an "x" between the brackets next to an option if it applies. For example:

[x] Selected option

Please delete everything above this line before submitting the issue

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Python version (python --version):
FiftyOne version (fiftyone --version):
FiftyOne installed from (pip or source):

Commands to reproduce
As thoroughly as possible, please provide the Python and/or shell commands used to encounter the issue.
# commands here

Describe the problem
Provide the exact sequence of commands / steps that you executed before running into the problem.
Other info/logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

Hi @lawchingman. If you provide a description we will try to help. Thanks!


mac presentation destroyed whole flow

Is anyone maintaining this repository at all? mac presentation command basically moved all my download and desktop files to trash and I have no idea how to get those back, can't find an answer anywhere. If this repository is no more maintained PLEASE write that, otherwise many other people will have similar problems.

Anyone having the same issues, in the trash under context menu, make sure to have Use Groups unchecked and set sorting to Date Added, then put back all files that have Date Added today. Regarding mac presentation this command, I have no idea how such a tool can be offering a command with such a destructive result, without any option to bring everything back. Also mac presentation is causing remapping of keyboard and without restart, it is no way to get correct keyboard mapping back, this issue has been here for the last 3 years and no one has done anything to fix it. So again, thanks for the repo, but if no one is maintaining this, JUST writes it in README. I will be removing this tool from my machine, as it's unstable, unmaintained and who knows what other, more destructive results might some commands give. Thank you again and have a good day!

Hi there,
I understand how frustrating can be to not locate the files from your Desktop or Downloads folders. That command specifically clarifies in the documentation that it sends those files to the Trash, that is why it can be restored from that location.
That was the original idea from the command to provide a clean view for the Desktop and Downloads directories, but I just removed that logic since it should be a decision from the user to remove those files or not.
Thanks for your feedback.

Hi @guarinogabriel, yeah the above is stated in docs, but I had hopes that there would be a flag or command on top causing everything to get back. Until that will be one of the available options for the tool, this command should be either disabled or as you wrote not move files without the user agreeing first. With closing down applications same here, but that is ok, I have no issue reopening them after if I want to go presentation. Thanks for working on the repo, it's an awesome project. BTW is this repo in active development, if it is, I would love to take on some of the issues and take part :))


sqlalchemy.exc.ProgrammingError: (psycopg2.errors.InsufficientPrivilege) must be owner of relation Patients

PGSync version: latest
Postgres version: 13
Elasticsearch version: 7.14.1
Redis version: latest
Python version: 3.9
Problem Description:
I get this error during bootstraping the db! in schema.json i have 3 schemas for the same DB but different tables
Error Message (if any):
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.InsufficientPrivilege) must be owner of function table_notify

Thanks but I figured it out Sir! Now its just that bootstrap takes 30 mins! i have 3 schemas in schema.json


Timesheet - 17/04/2021 - Chrisha Canete

Task 1
Creating Template for newsletter
Proof of Work

https://docs.google.com/document/d/1FMmPAOrtVGSGxZ-nALd1a6Zo6Y2sBPANL-lFK2sW70c/edit#

Time Spent
1.5 hour

Task 2
Working on April 15, 2021-TNB-Core Team Payment Calculation
Proof of Work

https://docs.google.com/spreadsheets/d/1daG7_lcWg3C16_wjsIVIYpbD8MOXiFdzKh1Xt_E9JYk/edit#gid=0

Time Spent
1 hour

Total Time Spent
2.5 hour
Account Number
7053f27870d388b0bca4149fe72765172c3e6d1b4ffc7cd0149a296cbefe8f57

Approved

Approved


Fix intermittent cpu spike in grpc async client

Commit Message:
In grpc async client, if timer expiry handler function gets fired where time to next_expiry is less than 1 sec, a loop gets created where timer gets enabled with 0 secs expiry again and again until 'now' becomes as next_expiry. This causes random cpu spikes. If there is HPA configured on cpu, this will result in scale up and scale down on proxies.
I added some logs while debugging it. Sharing here might help understanding the issue more clearly:
AsyncClientManagerImpl::evictEntriesAndResetEvictionTimer
[2023-09-08 10:27:32.640][22][info][grpc] [external/envoy/source/common/grpc/async_client_manager_impl.cc:198] AsyncClientManagerImpl::evictEntriesAndResetEvictionTimer next_expire:<PHONE_NUMBER>15069, now<PHONE_NUMBER>67850
[2023-09-08 10:27:32.640][22][info][grpc] [external/envoy/source/common/grpc/async_client_manager_impl.cc:208] AsyncClientManagerImpl::evictEntriesAndResetEvictionTimer enable timer: 0
[2023-09-08 10:27:32.640][22][info][grpc] [external/envoy/source/common/grpc/async_client_manager_impl.cc:193] AsyncClientManagerImpl::evictEntriesAndResetEvictionTimer
[2023-09-08 10:27:32.640][22][info][grpc] [external/envoy/source/common/grpc/async_client_manager_impl.cc:198] AsyncClientManagerImpl::evictEntriesAndResetEvictionTimer next_expire:<PHONE_NUMBER>15069, now<PHONE_NUMBER>89741
[2023-09-08 10:27:32.640][22][info][grpc] [external/envoy/source/common/grpc/async_client_manager_impl.cc:208] AsyncClientManagerImpl::evictEntriesAndResetEvictionTimer enable timer: 0

When this condition hits, logs get filled because of the loop I mentioned in the beginning.
Fix is simple that in the if condition for expiry consider this round off thing as well.
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

ping @chaoqin-li1123 @jmarantz @KBaichoo @htuch

As an alternative to the current implementation, can we make the timer to sleep for 1 second when the time interval is less than 1 second?

As an alternative to the current implementation, can we make the timer sleep for 1 second when the time interval is less than 1 second to avoid the busy loop?

yeah we can do that. Actually initially I thought of doing same, but since it require adding another else section, I thought current implementation is simpler in terms of code readability. Behavior wise, it will delay the timer by fraction of secs, which is also fine. I am fine either way.
@lizan wdyt?

I'm fine either way too. If you can add a test that would be nice.


Schema annoyances

I have several questions after implementing objc native and unirest (coming):

What handles or should handle schema errors? It seems weird having to make checks such as:

if (this.source.postData && (this.source.postData.params || this.source.postData.text)) {

Right now it is possible to have a postData without params or text. This should probably throw an error to the user saying his HAR description is wrong? For this reason (and because the fixtures for unit tests probably don't cover enough cases) Node native is currently wrong, see #8. And it makes us write annoying checks instead of a simple... say switch for form-encoded and others.

Cannot build a native JSON object when mimeType is 'application/json' because the text property is a string. Having to send JSON as a string where the majority of other examples on the Internet are object literals seems... weird. It also serves well enough its purpose for a copy-pasted code snippet but the programmer cannot add logic on top of it, or intuitively add a parameter.

Example for obj-c sending json like most people do:
// ...
NSDictionary *parameters = @{@"parameter": @"value", @"foo": @"bar"};
NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:&error];
[request setHTTPBody:postData];

But httpsnippet makes us send stringified JSON manually encoded:
NSData *postData = [[NSData alloc] initWithData:[@"{\"foo\": \"bar\"}" dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:postData];

No way to know the response type in advance for sure? For Unirest the class of the response object will vary, because one will deserialize the response if JSON (UNIHTTPJsonResponse) and the other will return it as is (UNIHTTPStringResponse) (same for .NET I think). Sure I can rely on the Accept header but who says it will be acknowledged?

it's not so much about the class of the response because when you think about it, we are missing opportunities to show how to handle JSON responses in every other language (where JSON is the most used response type)

Notes:

har-validator is used to validate the HAR input based on HAR 1.2 Spec

in src/index.js I specifically add any missing input properties before validation, to make it simpler and faster to create input json files (rather than having to add in an empty cookies: [] array, and specificy httpVersion every time for example)

What handles schema errors?

har-validator does

It seems weird having to make checks such as:
if (this.source.postData && (this.source.postData.params || this.source.postData.text)) {

yes, it is, and you shouldn't be doing that, at least, it seems you're approaching the issue thinking only of Unirest. there are libraries that allow you to set a raw body AND set parameterized POST data at the same time ... I see no reason for httpsnippet to limit that behavior ... it should be left to the discretion of the implementer to use what makes sense for the library.
keeping the implementation simple, it would be enough to check that .text and .params are mutually exclusive:
if (this.source.postData.text) {
  // request body
}

if (!this.source.postData.text && this.source.postData.params) {
  // construct post params
}

Cannot build a native JSON object when mimeType is 'application/json'

other than JavaScript, I'm not aware of any language that has native JSON support, so therefore if you want to implement whatever native equivalent of JSON, you probably have to parse it first with JSON.prase, then process / convert it to that native as well ... I don't see any way around that?

No way to know the response type in advance?

I'm going to be soon adding the ability to reference a FULL HAR object / file rather than just the request portion of it, which should give the ability to review the response object and construct accordingly.

yes, it is, and you shouldn't be doing that

No, I have no other choice.

I'm not aware of any language that has native JSON support

I should have put native in quotes but you got the idea.

so therefore if you want to implement whatever native equivalent of JSON,

I know I could parse it, I'm just saying now I have to do it for every language because your schema doesn't already do it...
Basically I know your points. I am just trying to start a discussion about whether or not HAR is the right schema to handle snippets creation honestly... I find the Mashape one way more appropriate.

har-validator is used to validate the HAR input based on HAR 1.2 Spec

I know that. Same thing, I'm just saying we should add a layer of error handling. When the HAR format is valid but the informations are not enough to properly build a request snippet.

And it seems that the existence of postData actually doesn't mean anything.

yes, as mentioned, postData is always generated regardless of source, I still think you're not looking closer at the HAR spec, here's another valid way of doing body work:
if (this.source.postData.text) {
  // request body
} else {
  if (this.source.postData.params) {
    // construct post params
  }
}

basically the existence of postData.text overrides everything (and is the easiest, just sent content-type header and send the string of text)
also, postData.params are not JUST the key/value pair for application/x-www-form-urlencoded ... in the case of multipart/form-data you have to traverse each param, and parse it's value individually as some would be a file, others can be any content (text, video, etc ...)
ex:
"params": [
    {
        "name": "file",
        "value": "[content of the pdf file]",
        "fileName": "example.pdf",
        "contentType": "application/pdf",
    }
]

in this case you should parse the fileName field and use that in the code (to look up and read content of the file) then pass that content as the multipart/form-data request with the specified name.

I know I could parse it, I'm just saying now I have to do it for every language because your schema doesn't already do it...

I could pre-parse the JSON object into a property called this.source.json or something ... but then I would also have to traverse all the potential multipart/form-data params and look for any existence of application/json (or any of the 5 other headers representing JSON) and parse those as well ... its doable... but seems like a lot ... any better suggestions?

this is a good discussion regardless, perhaps if any valuable lessons come out of this, we can share with the HAR community.

(Your code snippet for body work still does not work if one wants a definitive way of knowing wether or not a request has a body. Doing it like that, I would have to duplicate my code. The if statement mentioned in the first comment is still the only way of knowing whether or not the request has a body.)
True for the multipart requests, however I still believe the Mashape snippets are simpler (and they are actually way shorter (thanks also to the helpers)) but also because the schema is simply less flexible.

with recent guideline added and utility properties, this solves 90% if not all the of concerns discussed here...

I approve this message.


Add CI

[x] Unit Tests for PRs
[x] Publish images to Docker Hub

Use Github actions

Closed by #52


Update WasmThemis dependencies

Upgrade mocha dependency to pull in a newer js-yaml version that fixes a possible code injection vulnerability.
WasmThemis is not public yet and this is a development dependency, so there is no need for security advisories.

Android build is still broken (see #476 for attempts at fixing that). I'm merging this since Wasm should not affect and should not be affected by Android builds.


pos_longpolling: Error: QWeb2: Template 'synch_icon' not found

Hello,
I tried installing several addons of your repo on my Odoo 11 instance, like pos_orders_history and pos_invoice_pay
But when I launch the POS, it load and stay stuck on a black screen, with the following error in the console:
Error: QWeb2: Template 'synch_icon' not found
I pinpointed this in the pos_longpolling module that both modules share as dependency, but I don't really know what to do to fix that.
Can you help me ?

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Hello @Noirvent
Thank you for the report. I don't have this problem. Do you use the latest version of modules? Can you send me the logs?

Is there any update on this? I am having the same issue

Hi, same issue on Odoo v10.0 CE with the latest updated module files, same error message blocking pos from loading
Can you please assist?

I got this issue recently, is for two factor the addons folder should be 775(use chmod -R 775 /the name of the folder), and the owner of the folder should be odoo(or the name user that you use examp  sudo chown odoo12:odoo12 odoo-custom-addons/* )

@chafarleston thanks for sharing this information. I think we can close the issue


Blending and transparency: completely transparent material is still used in final result.

I've got this 3D model (image 1) and I've got a material with an alpha parameter. I use the alpha parameter to fade away the walls of the building. I also animate the Y position of the walls so that they animate a bit upwards while fading out as you can see in this video. Once the alpha has been animated to zero the meshes are still used in the final result as you can see in the second image.
Am I doing something wrong or could this be a bug?

image 1

image 2
The mesh of the walls:

image 3
The material I'm using:
material {
    name: color,
    shadingModel: lit,
    blending: fade,
    transparency: twoPassesOneSide,
    parameters: [
        { type: sampler2d, name: albedo },
        { type: float, name: roughness },
        { type: float, name: metallic },
        { type: float, name: alpha }
    ],
    requires: [
      uv0
    ]
}

fragment {
    void material(inout MaterialInputs material) {
        prepareMaterial(material);
        material.baseColor = texture(materialParams_albedo, getUV0());
        material.baseColor.rgb = material.baseColor.rgb * material.baseColor.a * materialParams.alpha;
        material.baseColor.a = material.baseColor.a * materialParams.alpha;
        material.roughness = materialParams.roughness;
        material.metallic = materialParams.metallic;
    }
}

I'm not sure I understand what you expect to see in the second image. Is the roof supposed to disappear as well?

Thanks for your reply @romainguy. Currently part of the roof becomes transparent/hidden which I don't want. My goal is to move the building/walls a bit up and fade it to completely transparent so that only the roof is visible.
In this screenshot I'm not fading the side walls so you can see how I move the building/walls a bit upwards:

But when I make the building/walls completely transparent, it somehow "hides" parts the roof where the walls are in front of the roof. I think it's more clear in this screenshot, it's like the walls are masking the roof:

And another screenshot where you also can see how the chimneys are "masking" the roof:

I hope this explains the issue a bit better, if not I'll add some code where I can toggle the transparency instead of animating it.

The only reason why this may happen is if your roof is also blended. twoPassesOneSide (that you use for the walls) writes to the depth buffer which can occlude any other transparent object. Can you check what material you use for the roof?

I'm not behind my pc atm but its blended to, I'm only not sure what type.
How can I accomplish what I'm trying to do?

Does it need to be blended? If yes, then you can change the roof's render priority to make sure it draws before the walls.

Thanks @romainguy, I want the roof to blend similarly as the walls.
I can imagine that changing the priority works in this case but when I want to fade out any arbitrary mesh changing the priority won't really work or does it?
Btw, it's amazing how quick you always reply to issues, thanks for that!

That's the problem with transparency. Until (if… :) we implement order-independent transparency (which is expensive), there is no good way to handle multiple overlapping transparent objects. You can play tricks with the bounding boxes as well to force a particular ordering but the render priority is easier to manage. You could also instead render the meshes individually to offscreen textures and fade that instead.

Thanks for all the suggestions.  Changing the priority fixed this issue but introduces some other issues.
I was thinking to change the blending at runtime, but I didn't find a function that allows me to do that. I assume there is a good reason for this. Would it be possible to add this?

The problem is that it also affects the shader code. We could allow blending to be overridden but it would have caveats (for instance shaders being more expensive when you go from transparent to opaque, or shaders not doing what you want when going from opaque to transparent).

I understand what you mean.
Tomorrow I'm going to hide the renderables once their alpha becomes zero and make them visible again when their alpha gets higher than zero. I'll use the layer mask feature for that. It's not perfect but flexible and as the animations will take about 150-250 millis it might be unnoticeable.


Update nokogiri to build on M1.

PR checklist:

[ ] Added changelog entry.

@dhatch mark as draft for the time being?


Add language_code to webhook payloads for Order, Checkout and Customer

This PR adds language_code field to webhook payloads for Order, Checkout and Customer. This field is useful for scenarios when webhook handler needs to display localized messages to the user.
Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[x] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[x] Changes are mentioned in the changelog

Task linked: SALEOR-6376 Missing language_code in Order_created event


Malware with pure UTF-16 characters in the filename can bypass detection

Files with names containing pure UTF-16 characters can bypass detection. The user-mode service will fail to open the file for scanning after the conversion is done to ANSI, because characters that cannot be converted from Unicode are replaced with '?'.
https://github.com/armadito/armadito-windows-driver/blob/06c826009397c244a13e4d7294587d97d6c41f0b/src/communication.c#L255-L263
Below is an image demonstrating the bug. In the first case, the filename is in Arabic and in the second, the filename's first letter is the greek M (U+039C).

A fix would require a re-implementation of the parts of the service dealing with filenames to make them support Unicode.

@SouhailHammou Thank you for reporting the issue and for suggesting a fix.
Another possible fix would be that the driver sends to the user-mode service a HANDLE instead of the file name.


1.14.19: pkgconfig integration contains no version

Hi! :wave:
I package this project for Arch Linux.
With 1.14.19 we noticed that the pkgconfig file no longer carries version information (see https://gitlab.archlinux.org/archlinux/packaging/packages/libupnp/-/issues/1 for an upstream bug report).
We are always building from auto-generated source tarballs and therefore from our end nothing has changed since 1.14.18 (which still contains version information in the file).
cmake emits the following:
CMake Warning at CMakeLists.txt:13 (project):
  VERSION keyword not followed by a value or was followed by a value that
  expanded to nothing.

From initial investigation it appears that https://github.com/pupnp/pupnp/commit/470041b0af217af0dd3f85f36ff1d65139d14dc4 broke this.
https://github.com/pupnp/pupnp/blob/fb90d0ca1954bd2abf33b004e55eeb50c07cbb62/cmake/autoheader.cmake uses the files in question to derive the version via rather complex regexes. This seems rather complicated. Can an easier/ less brittle way be found to set the version?

Unfortunately there is no easier way as libtool calculates the so-version in some "interessting" way. But from a quick look (with my mobile), the overall version should be matched correct (1.14.19 in CMakeCache), only the versions for the libs itself rely on the old format.
Can you check if it works if you remove the spaces after the comma on line 24?

I am not sure I made the change you requested correctly:
diff --git a/cmake/autoheader.cmake b/cmake/autoheader.cmake
index df61622..883ff48 100644
--- a/cmake/autoheader.cmake
+++ b/cmake/autoheader.cmake
@@ -21,7 +21,7 @@ if (NOT PUPNP_VERSION_STRING)
 			if (line MATCHES "AC_INIT.* ([0-9]*\\.[0-9]*\\.[0-9]*).*")
 				message (STATUS "Setting package-version to ${CMAKE_MATCH_1}")
 				set (PUPNP_VERSION_STRING ${CMAKE_MATCH_1} CACHE STRING "Version of the whole package" FORCE)
-			elseif (line MATCHES "[. \t]*AC_DEFINE_UNQUOTED *\\(([^,]*), *([^,]*), *([^\\)]*)")
+			elseif (line MATCHES "[. \t]*AC_DEFINE_UNQUOTED *\\(([^,]*),*([^,]*),*([^\\)]*)")
 				set (SAVED_MATCH ${CMAKE_MATCH_1})

 				if ("${CMAKE_MATCH_1}" IN_LIST WRITTEN_VARS)

The result is the different in that with the change applied the build fails with:
cd /build/libupnp/src/build/upnp && /usr/bin/cc -DLIBUPNP_EXPORTS -DNDEBUG -Dupnp_shared_EXPORTS -I/build/libupnp/src/pupnp/upnp/src/threadutil -I/build/libupnp/src/pupnp/upnp/inc -I/build/libupnp/src/pupnp/upnp/src/inc -I/build/libupnp/src/build -I/build/libupnp/src/build/upnp/inc -I/build/libupnp/src/pupnp/ixml/inc -I/build/libupnp/src/pupnp/ixml/src/inc -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/libupnp/src=/usr/src/debug/libupnp -flto=auto -fPIC -fvisibility=hidden -fmacro-prefix-map=/build/libupnp/src/pupnp/=. -MD -MT upnp/CMakeFiles/upnp_shared.dir/src/uuid/md5.c.o -MF CMakeFiles/upnp_shared.dir/src/uuid/md5.c.o.d -o CMakeFiles/upnp_shared.dir/src/uuid/md5.c.o -c /build/libupnp/src/pupnp/upnp/src/uuid/md5.c
/build/libupnp/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c: In function ‘get_sdk_info’:
/build/libupnp/src/build/autoconfig.h:5:29: error: too many decimal points in number
    5 | #define UPNP_VERSION_STRING 17.1.11
      |                             ^~~~~~~
/build/libupnp/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c:2311:28: note: in expansion of macro ‘UPNP_VERSION_STRING’
 2311 |                 "devices/" UPNP_VERSION_STRING "\r\n",
      |                            ^~~~~~~~~~~~~~~~~~~
/build/libupnp/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c:2311:27: error: expected ‘)’ before numeric constant
 2311 |                 "devices/" UPNP_VERSION_STRING "\r\n",
      |                           ^
      |                           )
/build/libupnp/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c:2308:17: note: to match this ‘(’
 2308 |         snprintf(info,
      |                 ^
/build/libupnp/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c:2310:19: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat=]
 2310 |                 "%s/%s, UPnP/1.0, Portable SDK for UPnP "
      |                  ~^
      |                   |
      |                   char *
/build/libupnp/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c:2310:22: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat=]
 2310 |                 "%s/%s, UPnP/1.0, Portable SDK for UPnP "
      |                     ~^
      |                      |
      |                      char *
In file included from /build/libupnp/src/pupnp/upnp/inc/upnp.h:47,
                 from /build/libupnp/src/pupnp/upnp/src/inc/upnputil.h:40,
                 from /build/libupnp/src/pupnp/upnp/src/inc/membuffer.h:40,
                 from /build/libupnp/src/pupnp/upnp/src/urlconfig/urlconfig.c:40:
/build/libupnp/src/build/upnp/inc/upnpconfig.h:41: warning: "UPNP_VERSION_STRING" redefined
   41 | #define UPNP_VERSION_STRING "17.1.11"
      |
In file included from /build/libupnp/src/pupnp/upnp/src/inc/config.h:36,
                 from /build/libupnp/src/pupnp/upnp/src/urlconfig/urlconfig.c:37:
/build/libupnp/src/build/autoconfig.h:5: note: this is the location of the previous definition
    5 | #define UPNP_VERSION_STRING 17.1.11
      |
make[2]: *** [upnp/CMakeFiles/upnp_shared.dir/build.make:328: upnp/CMakeFiles/upnp_shared.dir/src/genlib/net/http/httpreadwrite.c.o] Error 1

Did I misunderstand you and the change you meant was:
diff --git a/cmake/autoheader.cmake b/cmake/autoheader.cmake
index df616225..e79e963f 100644
--- a/cmake/autoheader.cmake
+++ b/cmake/autoheader.cmake
diff --git a/cmake/autoheader.cmake b/cmake/autoheader.cmake
index df616225..ce655a6e 100644
--- a/cmake/autoheader.cmake
+++ b/cmake/autoheader.cmake
@@ -18,7 +18,7 @@ if (NOT PUPNP_VERSION_STRING)
 			string (REGEX REPLACE ";" "" line ${line})
 			string (REGEX REPLACE "[ \t\r\n] *" " " line ${line})

-			if (line MATCHES "AC_INIT.* ([0-9]*\\.[0-9]*\\.[0-9]*).*")
+			if (line MATCHES "AC_INIT.*([0-9]+\\.[0-9]+\\.[0-9]+).*")
 				message (STATUS "Setting package-version to ${CMAKE_MATCH_1}")
 				set (PUPNP_VERSION_STRING ${CMAKE_MATCH_1} CACHE STRING "Version of the whole package" FORCE)
 			elseif (line MATCHES "[. \t]*AC_DEFINE_UNQUOTED *\\(([^,]*), *([^,]*), *([^\\)]*)")

Maybe we should put some comments on autoheader.cmake, it is hard to understand what those regex are doing.
You need to master regex, M4, cmake, ...
I can see that we are trying to get the version, but from where, in what order, from what part, etc, that would help a lot.
Best regards.

@loqs I meant the first change.
It seems there should be some quotes as the version STRING is interpreted as number. At least in autoconfig.h, as the mentioned redefinition is correct. So I guess the first regex change with the right quoting in the autoconfig.h.cm (rough guess as I didn't find any call regarding this), should fix this. Or the redefinition will just have another content.
I'm back home on monday to investigate this if it's not found till then.
@mrjimenez: Sure comments would help, I hoped to never touch this again, I remember a week where I tried to replicate the behaviour of libtool based on your description. Basically it iterates over the parts of the version in LT_SUBST (?) and does the math. If I am the one to fix that, I'll find the thread from these days and put in some explanations.

@Vollstrecker the second change I mentioned fixes it for me.

I created this pull request #443, tell me what you think.

Hi @Vollstrecker

@mrjimenez: Sure comments would help, I hoped to never touch this again, I remember a week where I tried to replicate the behaviour of libtool based on your description. Basically it iterates over the parts of the version in LT_SUBST (?) and does the math. If I am the one to fix that, I'll find the thread from these days and put in some explanations.

I feel your pain :laughing: , regexes per si are hell, quoted regexes are a torture...

However, I did notice lots of warings like this on the cmake build:
[ 75%] Building C object upnp/CMakeFiles/upnp_static.dir/src/ssdp/ssdp_server.c.o

                 from /home/mroberto/programs/pupnp/maint/github-creator/upnp/src/inc/upnputil.h:40,
                 from /home/mroberto/programs/pupnp/maint/github-creator/upnp/src/inc/membuffer.h:40,
                 from /home/mroberto/programs/pupnp/maint/github-creator/upnp/src/inc/httpparser.h:41,
                 from /home/mroberto/programs/pupnp/maint/github-creator/upnp/src/inc/ssdplib.h:45,
                 from /home/mroberto/programs/pupnp/maint/github-creator/upnp/src/ssdp/ssdp_server.c:45:
/home/mroberto/programs/pupnp/maint/github-creator/upnp/inc/upnpconfig.h:42: warning: "UPNP_VERSION_STRING" redefined
   42 | #define UPNP_VERSION_STRING "1.14.20"
      |
In file included from /home/mroberto/programs/pupnp/maint/github-creator/upnp/src/inc/config.h:36,
                 from /home/mroberto/programs/pupnp/maint/github-creator/upnp/src/ssdp/ssdp_server.c:41:
/home/mroberto/programs/pupnp/maint/github-creator/build/autoconfig.h:5: note: this is the location of the previous definition
    5 | #define UPNP_VERSION_STRING "17.1.11"
      |
/home/mroberto/programs/pupnp/maint/github-creator/upnp/inc/upnpconfig.h:45: warning: "UPNP_VERSION_MAJOR" redefined
   45 | #define UPNP_VERSION_MAJOR 1
      |
/home/mroberto/programs/pupnp/maint/github-creator/build/autoconfig.h:8: note: this is the location of the previous definition
    8 | #define UPNP_VERSION_MAJOR 17
      |
/home/mroberto/programs/pupnp/maint/github-creator/upnp/inc/upnpconfig.h:48: warning: "UPNP_VERSION_MINOR" redefined
   48 | #define UPNP_VERSION_MINOR 14
      |
/home/mroberto/programs/pupnp/maint/github-creator/build/autoconfig.h:11: note: this is the location of the previous definition
   11 | #define UPNP_VERSION_MINOR 1
      |
/home/mroberto/programs/pupnp/maint/github-creator/upnp/inc/upnpconfig.h:51: warning: "UPNP_VERSION_PATCH" redefined
   51 | #define UPNP_VERSION_PATCH 20
      |
/home/mroberto/programs/pupnp/maint/github-creator/build/autoconfig.h:18: note: this is the location of the previous definition
   18 | #define UPNP_VERSION_PATCH 11
      |

Is this normal? Is there a fix?

I've also created this pull request #444 to fix those annoying warnings, but it depends on #443.


Local data lost on Application id change

Hi team,
My app is running and i had pinned data. Now i changed the application id of Parse server and trying to run app my local data is lost. Do you guys have idea about it. Why it is happening?

I'm pretty sure, this is not an issue, but rather a feature.
I don't think it's too common for someone to change their App ID at any point - and you wouldn't want local data stores of 2 different apps to mix.
Anyway, I the local datastore should be used for caching. Why don't you just check for changes between the local data and the server on launch and update the data / create it if its a "clean" start?


Question, How to train a car to move from one point to another point in town?

I want to train a car that can move through town from one location to another.  Is there a way to get a map of a town?   How does one actually approach this problem?
Tak Au,

Hi,
They have implemented it in new_client_api branch. Look at carla_manual_control.py. you will see a from carla.planner.map import CarlaMap where there is an example of usage.

Is the stuff in branch "clientdevbranch" working? I am trying to run "carla_planner_example.py" but it gives me error "ImportError: No module named 'carla.protoc.carla_server_pb2' ".

No, the new python API is already in dev branch, we expect to release it today to master branch together with a new CARLA binary :)

@lburzawa , the clientdevbranch is related to the features to be added in a few weeks.
Not currently functional.


New notebook with more details and simplistic example of using the Scheduler for bulk processing

Hello.
This PR suggests new documentation in the form of a Jupyter Notebook "06_transformations_and_the_scheduler.ipynb" which attempts to explain a bit about the inner workings of the Scheduler, and in particular, how the Scheduler passes data to the transformations. I believe there might be also other data-passing mechanisms that possibly could be covered here as well. This notebook grew out of my own misunderstandings of how Loki processes large source trees, so I believe it may be useful for other new users as well.
There are some blanks and probably even wrong information here that needs to be sorted out. In some bits I purposefully left things out because I was not sure what is the intended usage.

 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.Santeri Karppinen 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.


the package is not updated

What went wrong:
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher.
The following dependencies do not satisfy the required version:
project ':audioplayers' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32

It's fixed. update your dependencies.


fixed min-height for mentor resources page

Description

Added display: flex;   flex-direction: column;   justify-content: space-between;   min-height: 100vh; to body tag so that the footer will stick to the bottom

The footer was displaying in the middle of the page due to less content on the page. This fix should also allow the footer to display correctly on any future new pages/URLs, regardless of how much content they will have—just one paragraph, five paragraphs, no text or images, etc.

https://github.com/WomenCodingCommunity/WomenCodingCommunity.github.io/issues/80
Change Type

[x] Bug Fix
[ ] New Feature
[ ] Code Refactor
[ ] Mentor Update
[ ] Documentation
[ ] Other

Related Issue

Screenshots

Before bug-fix
After bug-fix
Pull request checklist
Please check if your PR fulfills the following requirements:

[x] I checked and followed the contributor guide
[x] I have tested my changes locally.
[x] I have added a screenshot from the website after I tested it locally

You need also to update your local branch with main and resolve conflicts, and please include the screenshots in the pull request. Because it is not working.