NameError (uninitialized constant #Class:0x0000000804d528::Yomu):

Hi, I need some help here. I got Yomu working on my development environment without any issue, but once I deployed my code to production, I'm getting the following error:
NameError (uninitialized constant #<Class:0x0000000804d528>::Yomu):

app/models/candidate.rb:136:in `block (2 levels) in <class:Candidate>'

Line 136 is: Yomu.read :text, latest_resume.data
I'm pretty clueless what that error means. The production server has JRE installed:
$ java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

And I thought Yomu is shipping Tika. Or do I need to install it manually on production?
Thanks

Well, turns out my app or Solr wasn't restarted properly. It all works now. Thanks for the work your guys put in Yomu, it helps me a lot!


add translation badge to README

Hey there, we want to get you more contributors to your repository!
Therefore, I added a badge which lets users contribute to your translations.
The badge endpoint allows you to create a dynamic badge that display real-time data on your project. For instance, you can use it to showcase your project's localization progress or the number of errors/warnings on your Github repository. This means that whenever someone views the badge, they will see the most up-to-date information about your project.
For your project, the badge looks like this:
(this image is already auto generated)

We would be really happy if you decide to place this into your README to let people contribute to your translations 🥰
– Thank you,
Felix

@Andrew-Chen-Wang Hey, just a small check-in on this 😇
Do you want to improve the translation visibility of the project?

Hi please fix lint via pre-commit thanks

@Andrew-Chen-Wang , are you still interested in merging this?
I'm not affiliated, but this looks like something I could sort, if there's still a want. If so, how should I proceed--separate PR with a rebased and fixed commit?

I believe the inlang team abandoned their project unf

Ah, sorry, I should have checked more thoroughly first.
Looking at the existing "translation badge" link from the PR description above, it looks like inlang is still alive(-ish?), but the product has changed somewhat. Following the link shows a "Inlang has not been set up for this repository yet." message with a link to setup directions that seem significantly more involved than this PR.
Shall we close this?


Follow-up: Migration guides

The changes from the new Migration Guides (detailed in #3766) were
merged to unblock other work, but they still need docs team review.
This issue is for tracking:

Doing the docs team review(s)
Making any necessary updates

@Amruta-Ranade mind taking a first review pass at the changes in #3766 and putting your comments here?
(Happy to do it another way if there is a better/easier way to do this - just trying to keep everyone on the original PR from getting tons of emails / notifications)

Excellent idea! Will take a look asap.

@rmloveland, I think it's fine to consider this work done. We can open separate issue when there's internal and external feedback.


Add basic performance test infrastructure

Toward #152.
Sets up two new targets for performance testing, one for iOS & macOS
Sets up two new schemes that are duplicates of the current schemes, but are inclusive of the test suites (in other words, the perf tests are off by default)
Make schemes available for travis
Add stub performance test class (bad name, should delete file after this)

Ooh! We will need to update the travis config.

Codecov Report

Merging #156 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #156   +/-   ##
=======================================
  Coverage   90.83%   90.83%
=======================================
  Files          68       68
  Lines        3337     3337
=======================================
  Hits         3031     3031
  Misses        306      306

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 fe98a68...b9f27c6. Read the comment docs.

🎉


[FLINK-9557] [formats] Parse 'integer' type as BigDecimal

What is the purpose of the change
This PR changes the behavior of how a JSON schema is converted into type information for the integer type. Currently, we treat integer as a BigInteger. However, the Table and SQL API are not able to handle BigInteger and this cannot be changed easily because there is no equivalent SQL type but only DECIMAL. In order to avoid confusion for users and support end-to-end use cases that read and write to JSON formatted connectors, the best solution is to treat integer as BigDecimal. The serializers/deserializers still support BigInteger for specific use cases.
Brief change log

Change default behavior of the JSON schema converter

Verifying this change
This change is already covered by existing tests.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

The change is also compliant to the JSON schema standard:
Note that JSON Schema vocabularies are free to define their own
   extended type system.  This should not be confused with the core data
   model types defined here.  As an example, "integer" is a reasonable
   type for a vocabulary to define as a value for a keyword, but the
   data model makes no distinction between integers and other numbers.

https://www.ietf.org/id/draft-handrews-json-schema-01.txt

Looks good.
+1 to merge


Code updates and new functionality

[ ] fix supersmoother which does not work for certain wells
[ ] make pylenm use more general wording such that it can apply to surface water data, not just groundwater; ex. for functions like interpolate_by_well, create a duplicate function interpolate_by_station with the same functionality, and then once all relevant functions are duplicated & the duplicates all work together then we can remove the originals
[ ] implement Kalman filter functionality, from Schmidt et al. https://pubs.acs.org/doi/abs/10.1021/acs.est.8b00017

Suggestion for outlier - RANSAC algorithm


TypeError: 'NoneType' object is not iterable

When i use the dataset created by myself, my dataset contains only one type
[04/30 21:47:18 d2.data.datasets.coco]: Loaded 80 images in COCO format from datasets/cocococo/annotations/instances_train_2017.json
Traceback (most recent call last):
File "tools/train_net.py", line 161, in
args=(args,),
File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/launch.py", line 48, in launch
daemon=False,
File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 171, in spawn
while not spawn_context.join():
File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 118, in join
raise Exception(msg)
Exception:
-- Process 1 terminated with the following error:
Traceback (most recent call last):
File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap
fn(i, *args)
File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/launch.py", line 83, in _distributed_worker
main_func(*args)
File "/wwwroot/wangguangxu/BCNet-main/tools/train_net.py", line 143, in main
trainer = Trainer(cfg)
File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/defaults.py", line 246, in init
data_loader = self.build_train_loader(cfg)
File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/defaults.py", line 420, in build_train_loader
return build_detection_train_loader(cfg)
File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 306, in build_detection_train_loader
proposal_files=cfg.DATASETS.PROPOSAL_FILES_TRAIN if cfg.MODEL.LOAD_PROPOSALS else None,
File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 226, in get_detection_dataset_dicts
dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names]
File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 226, in
dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names]
File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/catalog.py", line 62, in get
return f()
File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/datasets/register_coco.py", line 33, in
DatasetCatalog.register(name, lambda: load_coco_json(json_file, image_root, name))
File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/datasets/coco.py", line 332, in load_coco_json
bo_segm = [poly for poly in bo_segm if len(poly) % 2 == 0 and len(poly) >= 6]
TypeError: 'NoneType' object is not iterable

I think you should chang the mask name corresponding to occluded objects and occluded objects on lines 326 and 328 in the /wwwroot/wangguangxu/BCNet-main/detectron2/data/datasets/coco.py file.

When i use the dataset created by myself, my dataset contains only one type
[04/30 21:47:18 d2.data.datasets.coco]: Loaded 80 images in COCO format from datasets/cocococo/annotations/instances_train_2017.json Traceback (most recent call last): File "tools/train_net.py", line 161, in args=(args,), File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/launch.py", line 48, in launch daemon=False, File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 171, in spawn while not spawn_context.join(): File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 118, in join raise Exception(msg) Exception:
-- Process 1 terminated with the following error: Traceback (most recent call last): File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap fn(i, *args) File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/launch.py", line 83, in _distributed_worker main_func(*args) File "/wwwroot/wangguangxu/BCNet-main/tools/train_net.py", line 143, in main trainer = Trainer(cfg) File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/defaults.py", line 246, in init data_loader = self.build_train_loader(cfg) File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/defaults.py", line 420, in build_train_loader return build_detection_train_loader(cfg) File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 306, in build_detection_train_loader proposal_files=cfg.DATASETS.PROPOSAL_FILES_TRAIN if cfg.MODEL.LOAD_PROPOSALS else None, File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 226, in get_detection_dataset_dicts dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names] File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 226, in dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names] File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/catalog.py", line 62, in get return f() File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/datasets/register_coco.py", line 33, in DatasetCatalog.register(name, lambda: load_coco_json(json_file, image_root, name)) File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/datasets/coco.py", line 332, in load_coco_json bo_segm = [poly for poly in bo_segm if len(poly) % 2 == 0 and len(poly) >= 6] TypeError: 'NoneType' object is not iterable

Have you solved this problem?

Have you try this code in COCO2017 dataset successfully?

yeh,I am training on the COCO2017 dataset.
您在基于COCO2017数据集进行训练的时候是怎么设置的？我们按照给定的教程跑的时候总是报各种错误，程序中好像还要读取OCC数据集，你当时怎么避开这些坑的？

You can give the errors for debugging.

You can give the errors for debugging.

按照教程中的步骤，我们发现读不到图片路劲，我们在config中将图片路径改成了绝对路径，在coco.py文件中将segm = anno.get("segmentation", None)#
bo_segm = anno.get("segmentation", None) #bg_object_，其中尝试将bg_object_segmentation改成和segmentation一致，能跑通一点了，但是报出
-- Process 1 terminated with the following error:
Traceback (most recent call last):
File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap
fn(i, *args)
File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/launch.py", line 83, in _distributed_worker
main_func(*args)
File "/wwwroot/zhangpan/BCNet-main/tools/train_net.py", line 149, in main
return trainer.train()
File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/defaults.py", line 373, in train
super().train(self.start_iter, self.max_iter)
File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/train_loop.py", line 131, in train
self.run_step()
File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/train_loop.py", line 205, in run_step
data = next(self._data_loader_iter)
File "/wwwroot/zhangpan/BCNet-main/detectron2/data/common.py", line 139, in iter
for d in self.dataset:
File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 345, in next
data = self._next_data()
File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 856, in _next_data
return self._process_data(data)
File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 881, in _process_data
data.reraise()
File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/_utils.py", line 394, in reraise
raise self.exc_type(msg)
FileNotFoundError: Caught FileNotFoundError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 178, in _worker_loop
data = fetcher.fetch(index)
File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/wwwroot/zhangpan/BCNet-main/detectron2/data/common.py", line 40, in getitem
data = self._map_func(self._dataset[cur_idx])
File "/wwwroot/zhangpan/BCNet-main/detectron2/data/dataset_mapper.py", line 76, in call
image = utils.read_image(dataset_dict["file_name"], format=self.img_format)
File "/wwwroot/zhangpan/BCNet-main/detectron2/data/detection_utils.py", line 53, in read_image
with PathManager.open(file_name, "rb") as f:
File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/iopath-0.1.9-py3.7.egg/iopath/common/file_io.py", line 1012, in open
bret = handler._open(path, mode, buffering=buffering, **kwargs)  # type: ignore
File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/iopath-0.1.9-py3.7.egg/iopath/common/file_io.py", line 612, in _open
opener=opener,
FileNotFoundError: [Errno 2] No such file or directory: '000000109450.jpg'

Let me see how your data files are placed, I feel like that's the problem here.

Let me see how your data files are placed, I feel like that's the problem here.

After I download the coco2017 dataset, the path is set as follows: / wwwroot / zhangpan / bcnet main / datasets / coco /. Among them, there are annotations, train2017, val2017, test2017  under the coco folder.

what's in your annotations folder？

what's in your annotations folder？

you can try to leave the flowing two jsonfiles  only in annotations file.
instance_val2017.json
instance_train_2017_transform_slight_correct.json
发自我的iPhone
------------------ Original ------------------
From: zhang-pan @.>
Date: Tue,May 3,2022 10:47 AM
To: lkeab/BCNet @.>
Cc: wangxueping78 @.>, Comment @.>
Subject: Re: [lkeab/BCNet] TypeError: 'NoneType' object is not iterable (Issue #103)
what's in your annotations folder？
—
Reply to this email directly, view it on GitHub, or unsubscribe.

Thank you very much for your help, because our computer server is now being used by others and the GPU memory is insufficient. I will try it as soon as the server is idle and inform you of the results.

@zhang-pan Have you executed it successfully?

Thank you very much for your help, because our computer server is now being used by others and the GPU memory is insufficient. I will try it as soon as the server is idle and inform you of the results.

Ok, have you downloaded KINS datasets?I can't find it.

@zhang-pan Have you executed it successfully?

Thank you very much for your help, because our computer server is now being used by others and the GPU memory is insufficient. I will try it as soon as the server is idle and inform you of the results.

Ok, have you downloaded KINS datasets?I can't find it.

you can download this dataset by the link "https://blog.csdn.net/qq_33287871/article/details/107099931?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~PayColumn-1.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~PayColumn-1.pc_relevant_antiscanv2&utm_relevant_index=1"
I hope it is helpful for you.

@zhang-pan Have you executed it successfully?

Thank you very much for your help, because our computer server is now being used by others and the GPU memory is insufficient. I will try it as soon as the server is idle and inform you of the results.

Ok, have you downloaded KINS datasets?I can't find it.
I just tried to download it, but I can't seem to open it. It may not be available for download in China at present. I asked my foreign classmates to try again.

http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d
this link can find the dataset, but can not download in China

@zhang-pan Have you executed it successfully?

Thank you very much for your help, because our computer server is now being used by others and the GPU memory is insufficient. I will try it as soon as the server is idle and inform you of the results.

Ok, have you downloaded KINS datasets?I can't find it.
I just tried to download it, but I can't seem to open it. It may not be available for download in China at present. I asked my foreign classmates to try again.

http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d this link can find the dataset, but can not download in China

Oh thanks.I will try it .You can contact me for qq(934466043).

@zhang-pan Have you executed it successfully?

Thank you very much for your help, because our computer server is now being used by others and the GPU memory is insufficient. I will try it as soon as the server is idle and inform you of the results.

Ok, have you downloaded KINS datasets?I can't find it.
I just tried to download it, but I can't seem to open it. It may not be available for download in China at present. I asked my foreign classmates to try again.

http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d this link can find the dataset, but can not download in China

Oh thanks.I will try it .You can contact me for qq(934466043).

OK

Have you solved this problem?
I met the same problem...This is the problem whether it is my training coco dataset or the dataset I registered myself. The return log is as follows:
[04/24 16:08:31 d2.data.datasets.coco]: Loading datasets/coco/annotations/instances_train_2017_transform_slight_correct.json takes 24.22 seconds.
[04/24 16:08:34 d2.data.datasets.coco]: Loaded 118287 images in COCO format from datasets/coco/annotations/instances_train_2017_transform_slight_correct.json
Traceback (most recent call last):
File "tools/train_net.py", line 161, in
args=(args,),
File "/media/data/usr/BCNet/detectron2/engine/launch.py", line 51, in launch
main_func(*args)
File "tools/train_net.py", line 143, in main
trainer = Trainer(cfg)
File "/media/data/usr/BCNet/detectron2/engine/defaults.py", line 246, in init
data_loader = self.build_train_loader(cfg)
File "/media/data/usr/BCNet/detectron2/engine/defaults.py", line 420, in build_train_loader
return build_detection_train_loader(cfg)
File "/media/data/usr/BCNet/detectron2/data/build.py", line 306, in build_detection_train_loader
proposal_files=cfg.DATASETS.PROPOSAL_FILES_TRAIN if cfg.MODEL.LOAD_PROPOSALS else None,
File "/media/data/usr/BCNet/detectron2/data/build.py", line 226, in get_detection_dataset_dicts
dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names]
File "/media/data/usr/BCNet/detectron2/data/build.py", line 226, in
dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names]
File "/media/data/usr/BCNet/detectron2/data/catalog.py", line 61, in get
return f()
File "/media/data/usr/BCNet/detectron2/data/datasets/register_coco.py", line 33, in
DatasetCatalog.register(name, lambda: load_coco_json(json_file, image_root, name))
File "/media/data/usr/BCNet/detectron2/data/datasets/coco.py", line 332, in load_coco_json
bo_segm = [poly for poly in bo_segm if len(poly) % 2 == 0 and len(poly) >= 6]
TypeError: 'NoneType' object is not iterable

When i use the dataset created by myself, my dataset contains only one type
[04/30 21:47:18 d2.data.datasets.coco]: Loaded 80 images in COCO format from datasets/cocococo/annotations/instances_train_2017.json Traceback (most recent call last): File "tools/train_net.py", line 161, in args=(args,), File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/launch.py", line 48, in launch daemon=False, File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 171, in spawn while not spawn_context.join(): File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 118, in join raise Exception(msg) Exception:
-- Process 1 terminated with the following error: Traceback (most recent call last): File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap fn(i, *args) File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/launch.py", line 83, in _distributed_worker main_func(*args) File "/wwwroot/wangguangxu/BCNet-main/tools/train_net.py", line 143, in main trainer = Trainer(cfg) File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/defaults.py", line 246, in init data_loader = self.build_train_loader(cfg) File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/defaults.py", line 420, in build_train_loader return build_detection_train_loader(cfg) File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 306, in build_detection_train_loader proposal_files=cfg.DATASETS.PROPOSAL_FILES_TRAIN if cfg.MODEL.LOAD_PROPOSALS else None, File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 226, in get_detection_dataset_dicts dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names] File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 226, in dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names] File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/catalog.py", line 62, in get return f() File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/datasets/register_coco.py", line 33, in DatasetCatalog.register(name, lambda: load_coco_json(json_file, image_root, name)) File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/datasets/coco.py", line 332, in load_coco_json bo_segm = [poly for poly in bo_segm if len(poly) % 2 == 0 and len(poly) >= 6] TypeError: 'NoneType' object is not iterable

Have you solved this problem?

Have you solved this problem?

I met the same problem...This is the problem whether it is my training coco dataset or the dataset I registered myself. The return log is as follows: (solution at the end)
[04/24 16:08:31 d2.data.datasets.coco]: Loading datasets/coco/annotations/instances_train_2017_transform_slight_correct.json takes 24.22 seconds. [04/24 16:08:34 d2.data.datasets.coco]: Loaded 118287 images in COCO format from datasets/coco/annotations/instances_train_2017_transform_slight_correct.json Traceback (most recent call last): File "tools/train_net.py", line 161, in args=(args,), File "/media/data/usr/BCNet/detectron2/engine/launch.py", line 51, in launch main_func(*args) File "tools/train_net.py", line 143, in main trainer = Trainer(cfg) File "/media/data/usr/BCNet/detectron2/engine/defaults.py", line 246, in init data_loader = self.build_train_loader(cfg) File "/media/data/usr/BCNet/detectron2/engine/defaults.py", line 420, in build_train_loader return build_detection_train_loader(cfg) File "/media/data/usr/BCNet/detectron2/data/build.py", line 306, in build_detection_train_loader proposal_files=cfg.DATASETS.PROPOSAL_FILES_TRAIN if cfg.MODEL.LOAD_PROPOSALS else None, File "/media/data/usr/BCNet/detectron2/data/build.py", line 226, in get_detection_dataset_dicts dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names] File "/media/data/usr/BCNet/detectron2/data/build.py", line 226, in dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names] File "/media/data/usr/BCNet/detectron2/data/catalog.py", line 61, in get return f() File "/media/data/usr/BCNet/detectron2/data/datasets/register_coco.py", line 33, in DatasetCatalog.register(name, lambda: load_coco_json(json_file, image_root, name)) File "/media/data/usr/BCNet/detectron2/data/datasets/coco.py", line 332, in load_coco_json bo_segm = [poly for poly in bo_segm if len(poly) % 2 == 0 and len(poly) >= 6] TypeError: 'NoneType' object is not iterable
Solve this problem by modifying the code(BCNet/detectron2/data/datasets/coco.py", line 332): bo_segm = [poly for poly in bo_segm if len(poly) % 2 == 0 and len(poly) >= 6] to bo_segm = [poly for poly in bo_segm or [] if len(poly) % 2 == 0 and len(poly) >= 6]

Have you solved this problem?

Solve this problem by modifying the code(BCNet/detectron2/data/datasets/coco.py", line 332):
bo_segm = [poly for poly in bo_segm if len(poly) % 2 == 0 and len(poly) >= 6]
to
bo_segm = [poly for poly in bo_segm or [] if len(poly) % 2 == 0 and len(poly) >= 6]

@tsnxxx

When i use the dataset created by myself, my dataset contains only one type
[04/30 21:47:18 d2.data.datasets.coco]: Loaded 80 images in COCO format from datasets/cocococo/annotations/instances_train_2017.json Traceback (most recent call last): File "tools/train_net.py", line 161, in args=(args,), File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/launch.py", line 48, in launch daemon=False, File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 171, in spawn while not spawn_context.join(): File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 118, in join raise Exception(msg) Exception:
-- Process 1 terminated with the following error: Traceback (most recent call last): File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap fn(i, *args) File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/launch.py", line 83, in _distributed_worker main_func(*args) File "/wwwroot/wangguangxu/BCNet-main/tools/train_net.py", line 143, in main trainer = Trainer(cfg) File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/defaults.py", line 246, in init data_loader = self.build_train_loader(cfg) File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/defaults.py", line 420, in build_train_loader return build_detection_train_loader(cfg) File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 306, in build_detection_train_loader proposal_files=cfg.DATASETS.PROPOSAL_FILES_TRAIN if cfg.MODEL.LOAD_PROPOSALS else None, File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 226, in get_detection_dataset_dicts dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names] File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 226, in dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names] File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/catalog.py", line 62, in get return f() File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/datasets/register_coco.py", line 33, in DatasetCatalog.register(name, lambda: load_coco_json(json_file, image_root, name)) File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/datasets/coco.py", line 332, in load_coco_json bo_segm = [poly for poly in bo_segm if len(poly) % 2 == 0 and len(poly) >= 6] TypeError: 'NoneType' object is not iterable

Have you solved this problem?

Have you solved this problem?

Solve this problem by modifying the code(BCNet/detectron2/data/datasets/coco.py", line 332):
bo_segm = [poly for poly in bo_segm if len(poly) % 2 == 0 and len(poly) >= 6]
to
bo_segm = [poly for poly in bo_segm or [] if len(poly) % 2 == 0 and len(poly) >= 6]

@tsnxxx

When i use the dataset created by myself, my dataset contains only one type
[04/30 21:47:18 d2.data.datasets.coco]: Loaded 80 images in COCO format from datasets/cocococo/annotations/instances_train_2017.json Traceback (most recent call last): File "tools/train_net.py", line 161, in args=(args,), File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/launch.py", line 48, in launch daemon=False, File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 171, in spawn while not spawn_context.join(): File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 118, in join raise Exception(msg) Exception:
-- Process 1 terminated with the following error: Traceback (most recent call last): File "/home/wangguangxu/anaconda3/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap fn(i, *args) File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/launch.py", line 83, in _distributed_worker main_func(*args) File "/wwwroot/wangguangxu/BCNet-main/tools/train_net.py", line 143, in main trainer = Trainer(cfg) File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/defaults.py", line 246, in init data_loader = self.build_train_loader(cfg) File "/wwwroot/wangguangxu/BCNet-main/detectron2/engine/defaults.py", line 420, in build_train_loader return build_detection_train_loader(cfg) File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 306, in build_detection_train_loader proposal_files=cfg.DATASETS.PROPOSAL_FILES_TRAIN if cfg.MODEL.LOAD_PROPOSALS else None, File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 226, in get_detection_dataset_dicts dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names] File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/build.py", line 226, in dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names] File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/catalog.py", line 62, in get return f() File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/datasets/register_coco.py", line 33, in DatasetCatalog.register(name, lambda: load_coco_json(json_file, image_root, name)) File "/wwwroot/wangguangxu/BCNet-main/detectron2/data/datasets/coco.py", line 332, in load_coco_json bo_segm = [poly for poly in bo_segm if len(poly) % 2 == 0 and len(poly) >= 6] TypeError: 'NoneType' object is not iterable

Have you solved this problem?

Have you solved this problem?

Solve this problem by modifying the code(BCNet/detectron2/data/datasets/coco.py", line 332): bo_segm = [poly for poly in bo_segm if len(poly) % 2 == 0 and len(poly) >= 6] to bo_segm = [poly for poly in bo_segm or [] if len(poly) % 2 == 0 and len(poly) >= 6]

Thank you for your reply, but I still have a few questions. If it is convenient, can you tell me your email, and I would like to consult further.

You can give the errors for debugging.

按照教程中的步骤，我们发现读不到图片路劲，我们在config中将图片路径改成了绝对路径，在coco.py文件中将segm = anno.get("segmentation", None)# bo_segm = anno.get("segmentation", None) #bg_object_，其中尝试将bg_object_segmentation改成和segmentation一致，能跑通一点了，但是报出 -- Process 1 terminated with the following error: Traceback (most recent call last): File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap fn(i, *args) File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/launch.py", line 83, in _distributed_worker main_func(*args) File "/wwwroot/zhangpan/BCNet-main/tools/train_net.py", line 149, in main return trainer.train() File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/defaults.py", line 373, in train super().train(self.start_iter, self.max_iter) File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/train_loop.py", line 131, in train self.run_step() File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/train_loop.py", line 205, in run_step data = next(self._data_loader_iter) File "/wwwroot/zhangpan/BCNet-main/detectron2/data/common.py", line 139, in iter for d in self.dataset: File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 345, in next data = self._next_data() File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 856, in _next_data return self._process_data(data) File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 881, in _process_data data.reraise() File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/_utils.py", line 394, in reraise raise self.exc_type(msg) FileNotFoundError: Caught FileNotFoundError in DataLoader worker process 0. Original Traceback (most recent call last): File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 178, in _worker_loop data = fetcher.fetch(index) File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in data = [self.dataset[idx] for idx in possibly_batched_index] File "/wwwroot/zhangpan/BCNet-main/detectron2/data/common.py", line 40, in getitem data = self._map_func(self._dataset[cur_idx]) File "/wwwroot/zhangpan/BCNet-main/detectron2/data/dataset_mapper.py", line 76, in call image = utils.read_image(dataset_dict["file_name"], format=self.img_format) File "/wwwroot/zhangpan/BCNet-main/detectron2/data/detection_utils.py", line 53, in read_image with PathManager.open(file_name, "rb") as f: File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/iopath-0.1.9-py3.7.egg/iopath/common/file_io.py", line 1012, in open bret = handler._open(path, mode, buffering=buffering, **kwargs) # type: ignore File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/iopath-0.1.9-py3.7.egg/iopath/common/file_io.py", line 612, in _open opener=opener, FileNotFoundError: [Errno 2] No such file or directory: '000000109450.jpg'

Have you solved this problem?

You can give the errors for debugging.

按照教程中的步骤，我们发现读不到图片路劲，我们在config中将图片路径改成了绝对路径，在coco.py文件中将segm = anno.get("segmentation", None)# bo_segm = anno.get("segmentation", None) #bg_object_，其中尝试将bg_object_segmentation改成和segmentation一致，能跑通一点了，但是报出 -- Process 1 terminated with the following error: Traceback (most recent call last): File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap fn(i, *args) File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/launch.py", line 83, in _distributed_worker main_func(*args) File "/wwwroot/zhangpan/BCNet-main/tools/train_net.py", line 149, in main return trainer.train() File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/defaults.py", line 373, in train super().train(self.start_iter, self.max_iter) File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/train_loop.py", line 131, in train self.run_step() File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/train_loop.py", line 205, in run_step data = next(self._data_loader_iter) File "/wwwroot/zhangpan/BCNet-main/detectron2/data/common.py", line 139, in iter for d in self.dataset: File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 345, in next data = self._next_data() File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 856, in _next_data return self._process_data(data) File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 881, in _process_data data.reraise() File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/_utils.py", line 394, in reraise raise self.exc_type(msg) FileNotFoundError: Caught FileNotFoundError in DataLoader worker process 0. Original Traceback (most recent call last): File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 178, in _worker_loop data = fetcher.fetch(index) File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in data = [self.dataset[idx] for idx in possibly_batched_index] File "/wwwroot/zhangpan/BCNet-main/detectron2/data/common.py", line 40, in getitem data = self._map_func(self._dataset[cur_idx]) File "/wwwroot/zhangpan/BCNet-main/detectron2/data/dataset_mapper.py", line 76, in call image = utils.read_image(dataset_dict["file_name"], format=self.img_format) File "/wwwroot/zhangpan/BCNet-main/detectron2/data/detection_utils.py", line 53, in read_image with PathManager.open(file_name, "rb") as f: File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/iopath-0.1.9-py3.7.egg/iopath/common/file_io.py", line 1012, in open bret = handler._open(path, mode, buffering=buffering, **kwargs) # type: ignore File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/iopath-0.1.9-py3.7.egg/iopath/common/file_io.py", line 612, in _open opener=opener, FileNotFoundError: [Errno 2] No such file or directory: '000000109450.jpg'

Have you solved this problem?

You can double-check the path of the changed and the name of the image.

You can give the errors for debugging.

按照教程中的步骤，我们发现读不到图片路劲，我们在config中将图片路径改成了绝对路径，在coco.py文件中将segm = anno.get("segmentation", None)# bo_segm = anno.get("segmentation", None) #bg_object_，其中尝试将bg_object_segmentation改成和segmentation一致，能跑通一点了，但是报出 -- Process 1 terminated with the following error: Traceback (most recent call last): File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap fn(i, *args) File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/launch.py", line 83, in _distributed_worker main_func(*args) File "/wwwroot/zhangpan/BCNet-main/tools/train_net.py", line 149, in main return trainer.train() File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/defaults.py", line 373, in train super().train(self.start_iter, self.max_iter) File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/train_loop.py", line 131, in train self.run_step() File "/wwwroot/zhangpan/BCNet-main/detectron2/engine/train_loop.py", line 205, in run_step data = next(self._data_loader_iter) File "/wwwroot/zhangpan/BCNet-main/detectron2/data/common.py", line 139, in iter for d in self.dataset: File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 345, in next data = self._next_data() File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 856, in _next_data return self._process_data(data) File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 881, in _process_data data.reraise() File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/_utils.py", line 394, in reraise raise self.exc_type(msg) FileNotFoundError: Caught FileNotFoundError in DataLoader worker process 0. Original Traceback (most recent call last): File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 178, in _worker_loop data = fetcher.fetch(index) File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in data = [self.dataset[idx] for idx in possibly_batched_index] File "/wwwroot/zhangpan/BCNet-main/detectron2/data/common.py", line 40, in getitem data = self._map_func(self._dataset[cur_idx]) File "/wwwroot/zhangpan/BCNet-main/detectron2/data/dataset_mapper.py", line 76, in call image = utils.read_image(dataset_dict["file_name"], format=self.img_format) File "/wwwroot/zhangpan/BCNet-main/detectron2/data/detection_utils.py", line 53, in read_image with PathManager.open(file_name, "rb") as f: File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/iopath-0.1.9-py3.7.egg/iopath/common/file_io.py", line 1012, in open bret = handler._open(path, mode, buffering=buffering, **kwargs) # type: ignore File "/home/zhangpan/.conda/envs/bcnet/lib/python3.7/site-packages/iopath-0.1.9-py3.7.egg/iopath/common/file_io.py", line 612, in _open opener=opener, FileNotFoundError: [Errno 2] No such file or directory: '000000109450.jpg'

Have you solved this problem?

You can double-check the path of the changed and the name of the image.

I want to know whether the json file that the training reads in is instances_train2017.json or instances_train_2017_transform_slight_correct.json.


[ML] Update batch endpoint/deployment operations to return LROPoller

Description
Update batch endpoint and batch deployment operations that start with begin prefix to return a LROPoller
Ex.
begin_create_or_update
begin_delete
Update documentation to reflect the changes and update e2etests accordingly.
All SDK Contribution checklist:

[X] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[X] I have read the contribution guidelines.

General Guidelines and Best Practices

[X] Title of the pull request is clear and informative.
[X] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[X] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-ml


Invalid Calibration Error with any version above <IP_ADDRESS>

Checklist

[X] I have updated the integration to the latest version available
[X] I have checked if the problem is already reported

The problem
Every time I update to any version beyond <IP_ADDRESS> I get the error 'Invalid calibration, please check your configuration' on the camera card and no map is displayed. This happens on <IP_ADDRESS> - <IP_ADDRESS>.
I tried reinstalling multiple times.
What version of an integration has described problem?
<IP_ADDRESS>
What was the last working version of an integration?
<IP_ADDRESS>
What vacuum model do you have problems with?
Xiaomi 1C
Please firmware installed on your Vacuum.
2023.12.0
What version of Home Assistant do you use?
core-2024.2.1
What type of installation are you running?
Home Assistant OS
Camera's settings.
No response
Logs or Errors shown in the HA snapshots (please enable the Debug Mode)
2024-02-10 17:31:59.879 WARNING (jimmy_camera_0) [custom_components.valetudo_vacuum_camera.valetudo.hypfer.image_handler] Memory shortage error: Not enough memory available (Margin: 1310.9 MiB)

Additional information
No response

@duffmiester I think I will disable this.. it was just an attempt to understand an issue reported in a discussion but eventually this is creating a lot of issue (the strange thing is that without this "memory limit check" it should work) I also noticed since 2024.2.1 there are other more important issue to care of (the CPU of core is reading our CPU calculation apparently probably a call to to PSUTIL too much.).
I really apologise for this.. I will work now on the v1.5.8 and revert those changes (or make them available optionally).
and thanks.. I don't why but receiving "warning" from you.. feels good.

I will standby ready to test 1.5.8 for you when it is ready. Thanks for your continued work on this project, it is really useful

@duffmiester if you would be so kind to do me the favour to test the last commit 6e98dba
Simply re-download the "main" form the version's that HACS propose, as there are no updates (I'm still working on the new version), the v<IP_ADDRESS> is still available on HACS. The modifications done till now should address the issue you kindly raised.

No check of the memory.
Review of the CPU counters done.
Some little / minor refactoring of the code was done on the image_handler too (and the memory usage is going down).
Tested till now with both the vacuums I have, this should be already working for you.
If all it's okay please star the project and and just a tong up on this means we are on the right way.

Of course, if you have time for that, then tanks in advance for the cooperation, and soon V1.5.8 will be release.

Have tested with 'main' and it is working now.
Thanks for the quick response!

@duffmiester I fixed also the invalid calibration error, apparently on V1.5.8, the MQTT data available (also when the vacuum isn't connected) was creating the handler to return none therefore the camera attributes didn't got the last available data in mqtt.. if the vacuum do not move, well is because it isn't connected so locating the vacuum will help to know it, but the camera will always startup when there are data in MQTT.  ;)

@duffmiester v1.5.8 is now available, hope you will enjoy it at your disposal for any future requirements or ideas.

Installed 1.5.8 and seems to be working fine so far. Thanks as always for the help :-)


msal-node e2e tests: cert_path -> certificate_path

@azure/identity's new DefaultAzureCredential() expects AZURE_CLIENT_CERTIFICATE_PATH instead of AZURE_CLIENT_CERT_PATH.
Corresponding 1-P PR

Can you rename your branch so it's the same as the 1P branch? Otherwise the pipelines will not checkout the right code.


Allow for HTTP Header credentials to be loaded from properties

Fixes #17369
Context

This is mostly for making the use of repositories protected via HTTP headers similar to that of basic authentication by allowing the name of the header and its value to be directly defined in properties (see my original comment in the original issue).
Contributor Checklist

[X] Review Contribution Guidelines
[X] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[X] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[X] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[X] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective

I am not sure of what kind of test could be done here. I have added the HttpHeaderCredentials to an existing integration test (CredentialsProviderIntegrationTest.missing credentials error messages can be assembled in paarallel execution) but I don't know what to do next.

[X] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes

Not sure of what to do here as #17378 will probably clash with what would be done here.

[X] Ensure that tests pass sanity check: ./gradlew sanityCheck
[X] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

[x] Verify design and implementation
[x] Verify test coverage and CI build status
[x] Verify documentation
[ ] Recognize contributor in release notes

@bot-gradle test

Sorry I don't understand what you said.
Currently I support the following commands:

@bot-gradle test {BuildStage} to trigger a build

e.g. @bot-gradle test SanityCheck plz
SanityCheck/CompileAll/QuickFeedbackLinux/QuickFeedback/ReadyForMerge/ReadyForNightly/ReadyForRelease are supported
test this means test ReadyForMerge
test and merge to trigger a pre-tested commit build
cancel to cancel a running pre-tested commit build or remove it from queue
SanityCheck can be abbreviated as SC, ReadyForMerge as RFM, etc.
Specific builds:

AST: AllSmokeTestsReadyForMerge
AFT: AllFunctionalTestsReadyForMerge
ASB: AllSpecificBuildsReadyForMerge
ACC: AllConfigCacheTestsReadyForMerge
ACT: AllCrossVersionTestsReadyForNightly
APTN: AllPerformanceTestsReadyForNightly
AFTN: AllFunctionalTestsReadyForNightly
ACTR: AllCrossVersionTestsReadyForRelease
AFTR: AllFunctionalTestsReadyForRelease

@bot-gradle help to display this message
@bot-gradle clean to clear the conversation history

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.

Pre-tested commit build failed.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.

Pre-tested commit build failed.

Pre-tested commit build failed.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

Error while scheduling pre-tested commit, please contact the administrator.

OK, I've already triggered a build for you.

@bot-gradle test and merge

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

Error while scheduling pre-tested commit, please contact the administrator.

@bot-gradle test and merge

Error while scheduling pre-tested commit, please contact the administrator.

@bot-gradle test and merge

OK, I've already triggered a build for you.

@utybo, thank you very much for your contribution. I'll take care of updating the rest of the docs from here.


Detecting TypeScript support

🚀 Feature Proposal
When I run the tests with ts-jest preset, I am able to run/require TS files in the code. I would like to detect this fact on runtime, e.g. via environment variable like TS_JEST=true.
Motivation
I am author of MikroORM. It allows to discover entities either via references (entities: [User]) or via paths (entities: ['./entities']). To use the folder based discovery, I need to operate on the TS files when running via ts-node or ts-jest, as I am attaching some properties to the entity prototype and therefore need to work with TS file if that is what will be later used on runtime (in other words, if ts-node/ts-jest is used, I need to discover TS files from src, otherwise JS files from dist).
To deal with this, I have two different config options for entity paths, one for JS files, one for TS files. If I am able to detect typescript support (e.g. ts-node) I am using the TS one.
While there are several ways to detect if we are under ts-node environment (e.g. using !!process[Symbol.for('ts-node.register.instance')]), I failed to find one to detect if we are running via jest with ts-jest preset.
Example
Barebones example would be:
function discoverEntities(path: string) {
  const files = await globby(path);

  return files.map(path => {
    // for simplicity let's expect default export
    return require(path).default;
  })
}

if (process.env.TS_JEST) {
  const entities = discoverEntities('./src/entities/*.ts');
} else {
  const entities = discoverEntities('./dist/entities/*.js');
}

You can achieve this easily by setting process.env.TS_JEST directly in your jest config file.
It is not possible for us to inject process.env because ts-jest is a Jest transformer which is triggered by Jest runtime. Anything we set in process will not impact your codes at all since we run inside Jest worker.

Well, but I am also running the code inside the jest worker. Tried to add process.env.TS_JEST = '1' to the dist/index.js file and I am able to read that value from my code where I try to detect it.

Oh that looks good. PR is welcome :)

I am not sure if doing it on require time is a good idea, might be ok. When I tried to put it to various places in the transofer like to TsJestTransformer.prototype.process, it failed. But when I put it to the constructor, it works fine, so I guess that will be the ideal place for this.
Will PR it in a minute!

You can either put in index.ts or constructor of the transformer class, both should work the same I expect.

Here you go #2717, if you can think of some nice way to test it, I am all ears.


Convex hull.volume returns a float value

what was the unit of volume and area in convex hull, is it cubic meter or something else.for area what is the unit

The coordinates, areas and volumes are all dimensionless.

I need units like cubic metre fro volume and sqkm for area, for that what should i need to do, please suggest some ideas


Use fprime-util to generate subtopologies

Related Issue(s)
n/a

Has Unit Tests (y/n)
n

Documentation Included (y/n)
help text

Change Description
Subtopologies are a very useful tool within F Prime. However, creating them is a fairly mechanical and arbitrary process. We can automate this using fprime-util, which is what this PR aims to accomplish.

I dislike the spelling check.

All the changes should be addressed; not sure why it says they're not.


Create an independent components package

Hi 👋🏻
I would like to be able to install the different components from a single package to install, and not to copy and paste the components manually.
Would it be possible to create a specific package for the components please?

Hey there @Olyno   - valid point - npm package is a thing on the wishlist.

Wow awesome, can't wait for it to be available!

@Olyno  Here you go... https://www.npmjs.com/package/ionic-svelte
Please provide feedback if this works for you.

It seems to work. However, I would have preferred to have custom components exported. Something like:
<script>
	import { Avatar } from 'ionic-svelte';
</script>

<Avatar src="/assets/img/ionic/avatar.svg" />

I can contribute by doing most of the components. Anything internal to Ionic (e.g. controllers.ts) will be out of my reach.

Hi @Olyno  - I understand.
How would you like to see that happening in the code and it makes the bundle probably a bit smaller? I think for this to work each component needs to get a separate svelte file, which also registers itself as webcomponent? And then index.ts needs to import as default and re-export?
I had thought of this,...maybe this can be generated? Because it is a pretty tedious job mirroring the input properties as well as the event bindings for output. Quite a job with Ionic's api chaning (not frequently).
The controllers don't need any changes, as they are tree-shakable in this way.

I think for this to work each component needs to get a separate svelte file, which also registers itself as webcomponent? And then index.ts needs to import as default and re-export? (export { default as AccordionGroup } from './components/Accordion/AccordionGroup.svelte';)

That's what I thought. Nevertheless you are right that it is a huge job. I just looked more closely at trying to convert a first component, and it took me much longer than I thought.
I don't know if the proxy system works with Svelte. I'm thinking about the typing of the components which would be more than interesting. Importing custom components that would be just a simple conversion of a web component would not be interesting, better to use web components directly in this case.
If this conversion includes typing, then it becomes more than interesting to use this way.
Svelte contains a svelte:element element, could we use it?

I don't know if the proxy system works with Svelte. I'm thinking about the typing of the components which would be more than interesting. Importing custom components that would be just a simple conversion of a web component would not be interesting, better to use web components directly in this case.

The Vue and React implementations also wrap the webcomponent in a "native" component to create type safety and also some sort of tree shaking. The current implementation loads the whole Ionic library.
Ionic without webcomponents requires a rebuild from the stencil source into something different. That is a task beyond huge, imho.
Svelte:element - maybe, but won't solve the problem of having to list (some) props and exposing vents.
My conclusion remains that in order to achieve tree shaking via the import you describe (which is preferrable) we need to wrap them....

Alternative path - after a good night of sleep - is to provide for dynamic import of components in ionicSvelteSetup (or separate method) - not sure if this saves bundle size but will speed up a bit the initialisation as it would only register the required webcomponents
You know if dynamic imports affect bundles positively and how?

I'm not sure what you want to do. Do you have an example in mind?

Yes, I was thinking like
setupIonicSvelte(['IonSelect','IonSlide') which then only registers these components.
Problem with this structure is that the array contains strings requiring then a dynamic import in the method. This in turn does not help reducing the bundle - what I've read somewhere. Next, a short test with performance timing shows that the actual time the current proces takes, does not justify these changes.
Alternative is to pass the imported classes to setupIonicSvelte which in turn uses that to register the component, but for this we need the name in kebab-case (IonSlide vs ion-slide). This makes the whole registration process per component a bit tedious imho.
Third option is taking the defineCustomElement function every component exports, create a wrapper factory function that exports a svelte component, which you then import in the svelte. So that is the Proxies approach (https://github.com/ionic-team/ionic-framework/blob/5bb1414f7fa04ea07954cb3f68883ee2f162586a/packages/react/src/components/proxies.ts). I think this may be the most viable way - just need to figure out the factory function - what needs to be the output to make something a svelte component.

Hi - no problem
I can generate the svelte ionic wrappers following from the core code. Then I will be getting the following -  see below - would that work? It does not expose the properties of the component explicities - only the events are exposed (ionBlur etc). Would that solve the autocompletion
<script>
  import { IonButton } from "@ionic/core/components/ion-button";
  import { defineComponent } from "ionic-svelte";

  let tag = "ion-button";
  defineComponent(tag, IonButton);
</script>

<svelte:element
  this={tag}
  {...$$props}
  on:ionFocus
  on:ionBlur
  on:focuson
  on:bluron
  on:fullscreenchangeon
  on:fullscreenerroron
  on:scrollon
  on:cuton
  on:copyon
  on:pasteon
  on:keydownon
  on:keypresson
  on:keyupon
  on:auxclickon
  on:clickon
  on:contextmenuon
  on:dblclickon
  on:mousedownon
  on:mouseenteron
  on:mouseleaveon
  on:mousemoveon
  on:mouseoveron
  on:mouseouton
  on:mouseupon
  on:pointerlockchangeon
  on:pointerlockerroron
  on:selecton
  on:wheelon
  on:dragon
  on:dragendon
  on:dragenteron
  on:dragstarton
  on:dragleaveon
  on:dragoveron
  on:dropon
  on:touchcancelon
  on:touchendon
  on:touchmoveon
  on:touchstarton
  on:pointeroveron
  on:pointerenteron
  on:pointerdownon
  on:pointermoveon
  on:pointerupon
  on:pointercancelon
  on:pointerouton
  on:pointerleaveon
  on:gotpointercaptureon
  on:lostpointercapture
  on:click><slot /></svelte:element
>

If the props are implicit, then it is indeed better to add exports, this seems to me to be the best to do for autocompletion

So - this can still become a bit of work - the generator script can deliver this:
<script lang="ts">
	import type { Color, RouterDirection, AnimationBuilder } from '@ionic/core';
	import { IonButton } from '@ionic/core/components/ion-button';
	import { defineComponent } from 'ionic-svelte';

	const tag = 'ion-button';
	export let color: Color = Color;
	export let buttonType = 'button';
	export let disabled = false;
	export let expand: 'full' | 'block' = 'full';
	export let fill: 'clear' | 'outline' | 'solid' | 'default' = 'clear';
	export let routerDirection: RouterDirection = 'forward';
	export let routerAnimation: AnimationBuilder | undefined = undefined;
	export let download: string | undefined = undefined;
	export let href: string | undefined = undefined;
	export let rel: string | undefined = undefined;
	export let shape: 'round' = 'round';
	export let size: 'small' | 'default' | 'large' = 'small';
	export let strong = false;
	export let target: string | undefined = undefined;
	export let type: 'submit' | 'reset' | 'button' = 'button';
	export let form: string | HTMLFormElement;

	defineComponent('ion-button', IonButton);
</script>

<svelte:element
	this={tag}
	{color}
	{buttonType}
	{disabled}
	{expand}
	{fill}
	{routerDirection}
	{routerAnimation}
	{download}
	{href}
	{rel}
	{shape}
	{size}
	{strong}
	{target}
	{type}
	{form}
	{...$$props}
	on:ionFocus
	on:ionBlur
	on:focus
	on:blur
	on:fullscreenchange
	on:fullscreenerror
	on:scroll
	on:cut
	on:copy
	on:paste
	on:keydown
	on:keypress
	on:keyup
	on:auxclick
	on:click
	on:contextmenu
	on:dblclick
	on:mousedown
	on:mouseenter
	on:mouseleave
	on:mousemove
	on:mouseover
	on:mouseout
	on:mouseup
	on:pointerlockchange
	on:pointerlockerror
	on:select
	on:wheel
	on:drag
	on:dragend
	on:dragenter
	on:dragstart
	on:dragleave
	on:dragover
	on:drop
	on:touchcancel
	on:touchend
	on:touchmove
	on:touchstart
	on:pointerover
	on:pointerenter
	on:pointerdown
	on:pointermove
	on:pointerup
	on:pointercancel
	on:pointerout
	on:pointerleave
	on:gotpointercapture
	on:lostpointercapture
	on:click><slot /></svelte:element
>

While this gives tapesafety, it does make at least two props mandatory while they arent: color and form.
The Stencil code does not give explicit default values, and I expect more of these, requiring manual search & replace.

That sounds really good to me!

Not sure how to pull it off though - ionic docs arent that easy to parse - so maybe later...

Importable code available through experimental folder in the npm package. Haven't tried it in a project yet, as I focussed on the generation of type-safe svelte wrappers -  https://github.com/Tommertom/svelte-ionic-npm
So moving from <ion-button>A great button</ion-button> to
import { IonButton } from 'ionic-svelte/experimental/components/IonButton.svelte';
<IonButton>A great button</IonButton>

Experimental also has version of setupIonicSvelte.
So if you want to use this, change imports from  ... from 'ionic-svelte to  ... from 'ionic-svelte/experimental

hi @Olyno  - looking for an opinion
I have been working on component library and it was great fun, getting to solve all sorts of smaller and bigger things.
So, basically the route was to create .svelte wrappers for each element, supporting slots and so on - see example https://github.com/Tommertom/svelte-ionic-npm/blob/main/experimental/components/IonItem.svelte
But now I wonder if this is the way to go, having the issue of applying styles in the svelte way to IonComponents.
This won't work (pseudo code):
import {IonButton} from 'ionic-svelte/experimental';

<IonButton>Click me</IonButton>

<style>
IonButton {
--background:red;
}

neither will work:

ion-button {
--background:red;
}
<style>
```

Here the encapsulation kicks in and avoids style spilling.

The way to deal can be to use `global` in the parent component (or worse - at root level), but this is cumbersome and from all the issues I studied, it seems pretty clear they want it this way.

I am fine with that, I like the thinking behind encapsulation - and that made building the demo app also really big fun.

So then I believe I need to abandon the native component way.

Question what is the alternative? You have any ideas?

The option I haven't looked at, but might work is creating typings for the kebab-components, and provide some sort of import per component that registers the component.  Hoping this creates type safety in the IDE and autocompletion. And some shaking.

So something like this:

MyStuff.svelte (pseudo)
```
import 'ionic-svelte/components/ion-button';

<ion-button> CLick me </ion-button>

<style>
ion-button {
--background:red;
}
</style>
```

Hi @Tommertom,
I think we should use css class for that. Using css, it should work. For example:
import {IonButton} from 'ionic-svelte/experimental';

<IonButton class="my-custom-button">Click me</IonButton>

<style>
.my-custom-button {
--background:red;
}
<style>

You can do that using
<script>
  let clazz = ''
  export { clazz as class }
</script>

<ion-button class="{clazz}">
    <slot />
</ion-button>

Not sure if it will solve the issue, but this is a possible way

Hi @Tommertom,
I think we should use css class for that. Using css, it should work. For example:

import {IonButton} from 'ionic-svelte/experimental';

<IonButton class="my-custom-button">Click me</IonButton>

<style>

.my-custom-button {

--background:red;

}

<style>

You can do that using

<script>

  let clazz = ''

  export { clazz as class }

</script>

<ion-button class="{clazz}">

    <slot />

</ion-button>

Not sure if it will solve the issue, but this is a possible way

Interesting syntax - as a prop to the component
Then the prop needs to be filled in the parent as js object, not in the style definition. That won't fly
Then the syntax could be like
<IonButton style={--background:"red"}> click me <...>

Passing class isn't necessary then

https://dev.to/dakmor/type-safe-web-components-with-jsdoc-4icf
This is the other way using jsdoc type annotations

To try out -
https://github.com/ionic-team/ionic-docs/issues/2658#issuecomment-1329762596
(typings and component info)
in combination with
https://github.com/sveltejs/language-tools/blob/master/docs/preprocessors/typescript.md#im-using-an-attributeevent-on-a-dom-element-and-it-throws-a-type-error

This as *.d.ts file does the trick (typings and completion in IDE):
declare namespace svelte.JSX {

  interface IntrinsicElements {
    'ion-in2put': { someattribute: 'sanne' | 'suze'; 'on:ionChange'?: (e: CustomEvent<any>) => void };

    'ion-button':
    {
      /**
        * The type of button.
       */
      "buttonType"?: string;
      /**
        * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
       */
      "color"?: Color;
      /**
        * If `true`, the user cannot interact with the button.
       */
      "disabled"?: boolean;
      /**
        * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
       */
      "download"?: string | undefined;
      /**
        * Set to `"block"` for a full-width button or to `"full"` for a full-width button with square corners and no left or right borders.
       */
      "expand"?: 'full' | 'block';
      /**
        * Set to `"clear"` for a transparent button that resembles a flat button, to `"outline"` for a transparent button with a border, or to `"solid"` for a button with a filled background. The default fill is `"solid"` except inside of a toolbar, where the default is `"clear"`.
       */
      "fill"?: 'clear' | 'outline' | 'solid' | 'default';
      /**
        * The HTML form element or form element id. Used to submit a form when the button is not a child of the form.
       */
      "form"?: string | HTMLFormElement;
      /**
        * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
       */
      "href"?: string | undefined;
      /**
        * The mode determines which platform styles to use.
       */
      "mode"?: "ios" | "md";
      /**
        * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
       */
      "rel"?: string | undefined;
      /**
        * When using a router, it specifies the transition animation when navigating to another page using `href`.
       */
      "routerAnimation"?: AnimationBuilder | undefined;
      /**
        * When using a router, it specifies the transition direction when navigating to another page using `href`.
       */
      "routerDirection"?: RouterDirection;
      /**
        * Set to `"round"` for a button with more rounded corners.
       */
      "shape"?: 'round';
      /**
        * Set to `"small"` for a button with less height and padding, to `"default"` for a button with the default height and padding, or to `"large"` for a button with more height and padding. By default the size is unset, unless the button is inside of an item, where the size is `"small"` by default. Set the size to `"default"` inside of an item to make it a standard size button.
       */
      "size"?: 'small' | 'default' | 'large';
      /**
        * If `true`, activates a button with a heavier font weight.
       */
      "strong"?: boolean;
      /**
        * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
       */
      "target"?: string | undefined;
      /**
        * The type of the button.
       */
      "type"?: 'submit' | 'reset' | 'button';
    }
  }
}

And besides the typings, I could provide for imports like these, but I believe this is a bit old-fashioned? Benefit of these imports, is that you need to do them only once, then webcomponents are registered.
This way, you can manage bundle size a bit better compared to all at once...
<script lang="ts">
	import 'ionic-svelte/ion-card';
</script>

<ion-card>
	<ion-card-header>
		<ion-card-subtitle>Great success!!</ion-card-subtitle>
		<ion-card-title>Welcome to your app!</ion-card-title>
	</ion-card-header>
	<ion-card-content> Some input</ion-card-content>
</ion-card>

So, independent component library:

NPM installable
Typings for IDE support and type checking
Module based loading

We ready like this?

This looks perfect, thank you so much for your work!

Hey there - so what I see is that this thing is now finished.
npm create ionic-svelte-app@latest gives you a barebone starter with ionic-svelte as npm package, typescript support on html, including type-ahead and code-splitting via commonjs modules - which imho seems perfectly fine as we only need to register/import a component once and then it works everywhere.
<script lang='ts'>
	import { setupIonicBase } from 'ionic-svelte';

	/* Call Ionic's setup routine */
	setupIonicBase();

	/* Theme variables */
	import '../theme/variables.css';

	/*
		The next command loads and registers all Ionic Webcomponents for you to use.

		This adds at least >800kb (uncompressed) to your bundle - 80 components (so do your math!!)

		You can also choose to import each component you want to use separately.

		It is recommended to do this in this file, as you only need to do such once. But you are free
		to do this elsewhere if you like to code-split differently.

		Example:
		import 'ionic-svelte/components/ion-app';
		import 'ionic-svelte/components/ion-card';
		import 'ionic-svelte/components/ion-card-title';
		import 'ionic-svelte/components/ion-card-subtitle';
		import 'ionic-svelte/components/ion-card-header';
		import 'ionic-svelte/components/ion-card-content';
		import 'ionic-svelte/components/ion-chip';
		import 'ionic-svelte/components/ion-button';

		Click the ionic-svelte-components-all-import below to go to the full list of possible imports.

		Please don't forget to import ion-app in this file when you decide to code-split:
	    >>>>>> import 'ionic-svelte/components/ion-app';

		You can report issues here - https://github.com/Tommertom/svelte-ionic-npm/issues
		Want to know what is happening more - follow me on Twitter - https://twitter.com/Tommertomm
	*/
	import 'ionic-svelte/components/all';
</script>

<ion-app>
	<slot />
</ion-app>

Closing this issue for now - if there are bugs or other things, please raise anohter issue. And thx @Olyno  for bringing this here. Please let me know how you using this project - I'd love to get some feedback on what is working and what brings a bit of DX friction.


Option to enable global CORS headers

Hi!
I was about to open a PR about catching external routes but noticed you just released a new version for it :tada: thanks!
My request is simple. I am mocking a number of api endpoints and could set the CORS headers individually in each MSW request but it would be great to set a flag in the server to set it globally instead for QoL.
Cheers
Alex

Thanks, @arlyon. This sounds like a nice QoL improvement to have. Do you have an example of this flag in mind?


Adding powerplatform_tenant_application_packages

This pull request includes changes primarily related to the PowerPlatform and its integration with the Terraform provider. The changes involve the addition of new data sources and tests, changes to existing test files, and updates to the application client in the PowerPlatform service.
New Data Sources and Outputs:

examples/data-sources/powerplatform_tenant_application_packages/data-source.tf: Added new data sources for PowerPlatform tenant application packages.
examples/data-sources/powerplatform_tenant_application_packages/outputs.tf: Added outputs for the new data sources.

Updates to Test Files:

internal/powerplatform/datasource_environment_application_packages_test.go: Added a copyright notice and made changes to the test file. [1] [2]
internal/powerplatform/datasource_environment_powerapps_test.go: Added a copyright notice.
internal/powerplatform/datasource_locations_test.go: Added a copyright notice.
internal/powerplatform/datasource_tenant_application_packages_test.go: Added a new test file for tenant application packages data source.

Updates to PowerPlatform Provider:

internal/powerplatform/provider.go: Added a new data source for tenant application packages.
internal/powerplatform/provider_test.go: Updated the test to include the new data source.

Updates to PowerPlatform Service:

internal/powerplatform/services/application/api_application.go: Made changes to the application client to include methods for getting tenant applications and to update existing methods. [1] [2] [3] [4]

Fixing #214

@polatengin can you take a look as the second reviewer?


Monthly Road Updates (2024-Q3)

Benefit
The statewide road centerline dataset supports decision-making and is critical in business systems such as 911 and the address locators.
Acceptance Criteria

[x] A current statewide road centerline dataset in the SGID that adheres, to the best of our ability, to our update schedule.

Notes

[x] January 2024

Date: 01/11/2024
Counties updated

Box Elder
Carbon
Davis
Iron
Salt Lake
Sevier
Utah
Washington
Weber

Three new addresses from this road update (for locator testing)

13607 S SENTINEL RIDGE BLVD, Salt Lake City, 84065
14923 MINNIE MAUD RD, Price, 84539
1005 S 2580 E, St George, 84790

[x] February 2024

Date: 02/08/2024
Counties updated:

Salt Lake
Utah
Weber
Washington
Wasatch

Three new addresses from this road update (for locator testing)

1960 N LAVA COVE DR, Santa Clara 84765
1250 W 400 N, Mapleton 84664
160 E LAMOTTE PEAK LN, Heber City 84032

[x] March 2024

Date: 03/07/2024
Counties updated:

Cache
Carbon
Davis
Kane
Salt Lake
Utah
Washington
Weber

Three new addresses from this road update (for locator testing)

1345 S LONE SPUR CIR, Kanab 84741
3075 N 2825 W, Ogden 84404
525	S SUNSET DR, Santaquin 84655

@gregbunce, What do you think of updating the template to include the test addresses?

@MichaelAGRC (@ZachBeck) - what do you think about a road update on the 1/11/2024?

@gregbunce - The 11th is good for me.

That should work for me. I'll let Blue Stakes know that I'll be sending them an update on the 11th.

Sprint 4 Notes
Road updates are progressing as data comes in.  Still having issues with Grand county's data.  Sent Tooele county (Bret and Dylan) a request for data in file-geodatabase format.  Shapefile results in truncating field names resulting in the script failing.

is the locator updated with the most recent road grinder data? i show those segments in the most recent data.

AddressPoints_AddressSystem, Roads_AddressSystem_STREET were deployed on the 13th

further looking into it

I verified that the zipcode and address quadrant polygon layers are correct as well.

I verified that the zipcode and address quadrant polygon layers are correct as well.


Factorize the nav template code in a template of its own

Small refactor following @kmaglione's comment

Much better. Thanks! r+


Public website, Firefox

Hi,
Firefox version 53.0.3
The blocks with a gradient background have a layout issue.

damn I always forget that firefox handles relative padding in a weird way. will fix, thanks for reporting !

Same issue on the showcase page:

add safari to the list
safari version 9.1.2

@dvcarter thanks for reporting. It's another kind of issues probably related to flexbox this time. Are you running macOS 10.11?

@MoOx yup.

are there any plans to use semantic-ui to resolve some of these rending issues?

We don't plan to use anything. The website use react-primitives so kind of raw styling here. What is probably going to happen is that we reimplement the same result with some workaround or others properties...

For those curious about this mess http://www.radiumvinteractive.com/flexbox-percentage-margins-and-paddings/.
I fixed the issues I could find with my machine and VMs. It's ok on latest Safari, Chrome, Firefox and Edge.
If you want to help and have an older version, PRs are always welcome!

@dvcarter fyi I just have fixed the bug on Safari. It's related to this https://github.com/philipwalton/flexbugs#11-min-and-max-size-declarations-are-ignored-when-wrapping-flex-items
Can you confirm it's now ok for you? Also can you confirm you have Safari 10.0?

looking good


Bug: kusion preview generates an unnecessary ci-test fold

What happened?
kusion preview generates an unnecessary ci-test fold
What did you expect to happen?
do not generate an unnecessary ci-test fold
How can we reproduce it (as minimally and precisely as possible)?
>>> cat kcl.yaml
kcl_cli_configs:
  file:
    - microservice.k
  package_maps:
    k8s: ../../vendor/k8s_1.24

>>> cat stack.yaml
name: demo

>>> ls
total 12K
-rw-r--r-- 1 prahalad staff 93 Oct 20 16:56 kcl.yaml
-rw-r--r-- 1 prahalad staff 49 Oct 20 17:43 microservice.k
-rw-r--r-- 1 prahalad staff 22 Oct 20 16:56 stack.yaml

>>> kusion preview
 ✔  Generating Spec in the Stack api-data-sevbot...
Stack: api-data-sevbot  ID                                                      Action
* ├─                   policy/v1:PodDisruptionBudget:default:nginx-deployment  Create
* └─                   apps/v1:Deployment:default:nginx-deployment             Create

>>> ls
total 12K
drwxr-x--- 2 prahalad staff 64 Oct 20 22:51 ci-test

>>> kusion compile
 ✔  Generating Spec in the Stack api-data-sevbot...

>>> ls ci-test
total 4.0K
-rw-r--r-- 1 prahalad staff 832 Oct 20 22:51 stdout.golden.yaml

Anything else we need to know?
No response
Kusion version

$ kusion version
# paste output here

releaseVersion: v0.9.0
gitInfo:
latestTag: v0.9.0
commit: 230d4cc37181e596942ce81a71452f84c47edfe0
treeState: clean
buildInfo:
goVersion: go1.19.13
GOOS: linux
GOARCH: amd64
numCPU: 2
compiler: gc
buildTime: "2023-09-28 02:32:41"
dependency:
kclGoVersion: v0.6.0-alpha.1
kclPluginVersion: v0.5.0

OS version

# On Linux:
$ cat /etc/os-release
# paste output here
$ uname -a
# paste output here

# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here

Install tools

I didn't reproduce the bug, maybe your kusion version is not the latest(0.9.0).
Here is my result:
>>> cd single-stack-sample; tree .
.
├── README.md
├── dev
│   ├── kcl.mod
│   ├── kcl.mod.lock
│   ├── main.k
│   └── stack.yaml
└── project.yaml

1 directory, 6 files

>>> cd dev; kusion preview
 ✔  Generating Spec in the Stack dev...
Stack: dev  ID                                                  Action
* ├─     v1:Namespace:helloworld                             Create
* ├─     v1:Service:helloworld:helloworld-dev-nginx-private  Create
* └─     apps/v1:Deployment:helloworld:helloworld-dev-nginx  Create

>>> cd ..; tree .
.
├── README.md
├── dev
│   ├── kcl.mod
│   ├── kcl.mod.lock
│   ├── kusion_state.json
│   ├── main.k
│   └── stack.yaml
└── project.yaml

1 directory, 7 files

New users should use the kpm route when using kusion preview.

Resolved as part of #608


[enhancement]: Expose branch name that was merged into another branch in the build triggered by the merge / PR

Task name
No response
Describe your feature request here
Summary
We would like to know the name of the source branch on the build pipeline that was triggered on main after merging the PR for that source branch. This is similar to system.pullRequest.sourceBranch which was added in #2147 but at a different time in the merging process.
Example
After merging feature/my-feature/dev to main via the PR, commit A is created and the Build pipeline is kicked off. I would like that Build to be able to know the source branch feature/my-feature/dev.

Own research
Some information and suggestions that I have found while researching:

Using a post-merge hook (link). Locally, this does seem to work:

$ git commit -am "More changes"
[feature/my-feature/dev 0af0ee3] More changes
 1 file changed, 1 insertion(+)
$ git checkout main_dummy1
Switched to branch 'main_dummy1'
Your branch is up to date with 'origin/main_dummy1'.
$ git merge feature/my-feature/dev
Updating 6c47780..0af0ee3
Fast-forward
 README.md | 1 +
 1 file changed, 1 insertion(+)
$ git reflog -1
0af0ee3 (HEAD -> main_dummy1, feature/my-feature/dev) HEAD@{0}: merge feature/my-feature/dev: Fast-forward

However, this does not work on ADO since the git reflog after completing a PR from feature/my-feature/dev into main_dummy1 does not seem to show what is included locally but instead shows: 7044824 HEAD@{0}: checkout: moving from master to refs/remotes/origin/7044824.

In BitBucket repo, it provides default commit message when trying to merge one branch into another (StackOverflow link). In that way, we could retrieve the branch name from there.

Hi @mikeweltevrede, thank you for posting this feature request. Currently, we’re working on higher priority issues, but we’ll get back to this one soon.

@mikeweltevrede Thank you for posting this issue. Since this is not related to any specific pipeline task, I'm closing it. Please provide your suggestion in the Developer Community. This is the appropriate place for such feature requests.


Interrupts the execution only when there is an error in the validation.

In fact, contrary to what you said in the post https://github.com/dektrium/yii2-user/pull/218#issuecomment-68593216, the execution is always interrupted when the method is run, due to the command
\Yii::$app->end();

This change I'm suggesting is that the flow is interrupted only when there is an error in the validation.

I still don't clearly understand what do you want to achieve. But this pull-request can not be merged as is because it makes yii2-user to request index page twice after login:

And here is how it looks without your change:

Hello @dmeroff !
I think Google Translator is not cooperating! :smile:
I'll try to explain better. You can evaluate and find the best solution.
The "problem" is that I have identified the following. Let's look at the code:
public function actionLogin()
{
    $model = \Yii::createObject(LoginForm::className());

    $this->performAjaxValidation($model);

    if ($model->load(\Yii::$app->getRequest()->post()) && $model->login()) {
        return $this->goBack();
    }

    return $this->render('login', [
        'model'  => $model,
        'module' => $this->module,
    ]);
}

The method $this->performAjaxValidation() is called just at the beginning of the action.
In all requests via Ajax, the method $this->performAjaxValidation() calls the \Yii::$app->end (), terminating the execution of the request.
Thus, all Ajax requests made to the route actionLogin() will be closed before authenticating the user.
The only way to be able to run the line that calls the method $model->login() is to make the request without Ajax.
My suggestion in PR is to call the \Yii::$app->end () only when an error occurs validating data instead of calling on all requests, which prevents the authentication via Ajax.
I managed to explain better now?
Hugs!


feat: Add Function Arguments to Middleware

Relates SAP/cloud-sdk-backlog#1042.
Add the function arguments to the middleware context so that users can change the value of function pparameters in the middleware easily.
I also moved the HttpMiddlewareContext to the HttpClient where it belonged in my opinion because it is introduced there and renamed Context to MiddlewareContext to give it more context :-).

looks good but it is pretty complicated. We definitely need a user guide and probably also some developer documentation (e.g. updating the ADR with implementation specifics). So I would recommend to create a follow-up ticket for this.

Added a TODO in the parent ticket.


Espressif projects build with LWIP by default (no longer possible to build with native FreeRTOS_plus_tcp  stack)

Describe the bug
Espressif ESP32 builds default to  #define CONFIG_TCPIP_LWIP 1 even without specifying -DAFR_ESP_LWIP=1
System information

Espressif ESP32
Can replicate using command line
MacOS
Version of FreeRTOS: 201912.00-280-gd88755b0
Expected behavior
Previously - to build using the LWIP stack it was necessary to add -DAFR_ESP_LWIP=1 to the cmake command line options. If this was not added then the native FreeRTOS_plus_tcp stack was used.  Now the project is built with lwip even without requesting it.
To reproduce
Steps to reproduce the behavior:

Run cmake as described here: https://docs.aws.amazon.com/freertos/latest/userguide/getting_started_espressif.html
Verify that the code is built using lwip instead of FreeRTOS_plus_tcp

Additional context
Has support for the native stack been deprecated from ESP32 builds?  If so where is this documented
Thank you!
Kindest regards,
Bobby

Hi @bgintz-rsc , Espressif switched to use lwip by default as in this PR, https://github.com/aws/amazon-freertos/pull/1886. The native FreeRTOS plus TCP stack was not deprecated, to enable it, you can pass the -DAFR_ESP_FREERTOS_TCP=1 flag to cmake. Our public documentation has not been updated yet since this change is not yet released.

Hi @bgintz-rsc ,
Many features (like SoftAP provisioning) had dependencies on LwIP networking stack. Hence, we have switched the default stack to LwIP.
Adding to it, we also found some bugs in FreeRTOS TCP stack, like:

https://github.com/aws/amazon-freertos/pull/1696
https://github.com/aws/amazon-freertos/issues/1874

Following are the features of LwIP stack:

Lower memory consumption.
Zero copy receive path.
Simultaneous multi interface and Posix API support.

Native SDK for ESP32 (ESP-IDF) uses LwIP networking stack.
We recommend using LwIP stack as it is tested on ESP32 by our internal team.
However, if you want to use FreeRTOS TCP stack, you can pass -DAFR_ESP_FREERTOS_TCP=1  flag to CMake.
Thanks!

@shubhamkulkarni97 :

Adding to it, we also found some bugs in FreeRTOS TCP stack, like:
#1696

You posted a PR that was adequate to repair this. Thanks a lot for that.

#1874

I already responded with PR #53 that should repair it. I'm still waiting for a response.

Following are the features of LwIP stack:
Lower memory consumption.
Simultaneous multi interface and Posix API support.
Zero copy receive path.

You have stated this before and I already responded to it here.
We are working hard to get the new multi-interface version tested and released.
FreeRTOS+TCP is smaller and simpler than lwIP, and that has advantages. It is fully integrated with FreeRTOS. If it has the features needed for your project, I recommend using it.
And if it misses features, feel free to use any other TCP/IP stack that you like.

Thank you for the answer!!!

@htibosch @tgsong @shubhamkulkarni97
Is there any functionality in the native stack that is NOT supported by the LWIP stack?  i.e. any downside to switching stacks at this time?
Thanks

The -DAFR_ESP_FREERTOS_TCP=1 option should help us do so

I can confirm that the option works fine.

Is there any functionality in the native stack that is NOT supported by the LWIP stack?

FreeRTOS+TCP doesn't have major features ( functionalities )  that lwIP doesn't have.

Hi @bgintz-rsc since your question has been resolved, I will close this issue. Please reopen or create a new issue for further questions


Split text content items upon word/char spacing operator.

Fix for the following issue: https://github.com/mozilla/pdf.js/issues/8670

We need increase of DOM nodes analysis attached to this PR. It looks like this patch will increase amount of nodes in text layer.

Yes, it definitely increases the amount of DOM nodes, there appears to be no way around that. Do you have a formal way to perform such an analysis against existing test PDFs?

Do you have a formal way to perform such an analysis against existing test PDFs

There is no formal way. You can modify node's getinfo example to return amount of items returned by getTextContent call for some subset of test PDFs.

For my test file (same as attached to #8670), test.pdf, I did a comparison of the number of children of the textLayer. Before: 134, after: 154.
If you want me to perform this comparison with other reference files, I'd be happy to do so.

test.pdf... Before: 134, after: 154.

I consider this file to be the best case for PDF.js text layer. I would like to see number to bigger subset of PDF from different sources, e.g. from test/pdfs/. It will be nice to see mean and deviation change across bigger set.

If you want me to perform this comparison with other reference files, I'd be happy to do so.

Yes, please

I made a little script that scans all parseable files and pages in test/pdfs/*.pdf, using the output from page.streamTextContent({ normalizeWhitespace: true }), which I understand to be analogous to the number of divs in the text layer. Result:
Total divs all pages, before: 41036 after: 42912, which is an increase of 4.5%.
The mean of deviation is +5.6 divs per page where diff is not 0. Mean of deviation for all pages is +2.28.
The largest increase ratio is very large and happens to be 1300%. This happens to be "issue3427.pdf" (page 2), increased from just 20 divs to 260. The document in question apparently includes spacing operators between every word and looks completely unnecessary by just looking at the rendered result. I have not studied this in detail, but perhaps my fix could include extra checks for avoiding splits where PDF spacing operators are just trivial and do not really change the state.

Additional list of most regressed pages by this patch:

[ ] issue1419.pdf, page 4, 30=>2912 (9607%)
[ ] artofwar.pdf, page 108, 43=>800 (1761%)
[ ] issue3427.pdf, page 2, 20=>260 (1200%)
[ ] geothermal.pdf, page 134, 171=>232 (36%)
[ ] bug867484.pdf, page 12, 155=>196 (27%)
...

Notice that listed only unique document. IMHO regressions more than 10% is not acceptable in our case.

The document in question apparently includes spacing operators between every word and looks completely unnecessary by just looking at the rendered result.

We cannot control how documents are produced. This type of documents can be found on the web and we cannot regress PDF.js behavior since we cannot speculate what portion of documents will be affected.
As is this patch cannot be accepted. Thank you for the effort. I'll close this PR, but it can be reopened if "smarter" heuristic can be proposed.


I have sd-ppp installed inside forge, but I can't find the initialization icon

any error in the console?

any error in the console?

There is nothing wrong with it

any error in the console?

There is nothing wrong with it

We are currently using the latest version of the webui_forge program and have not made any changes

Can you try again in 1.5.0?

I reproduced it and I think it is fixed in 1.5.3


add tests to increase coverage

complete query function test in promotions
complete query function test in server
no need to test list function (already included)
nearly all the situations are covered

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@ae8767d). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master      #37   +/-   ##
=========================================
  Coverage          ?   91.52%
=========================================
  Files             ?        2
  Lines             ?      177
  Branches          ?        0
=========================================
  Hits              ?      162
  Misses            ?       15
  Partials          ?        0

Impacted Files
Coverage Δ

server.py
89.09% <100%> (ø)

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 ae8767d...38b5d26. Read the comment docs.


fix(deps): update apache commons-email lib that is migrated to jakarta

Issue
https://gravitee.atlassian.net/browse/APIM-1765
Description
The goal of this task is to migrate apache commons-email lib to the one using jakarta.
Later I used MimeMessageParser.java coming from that lib and removed the one copied during migration to spring6
https://github.com/gravitee-io/gravitee-api-management/pull/4020#discussion_r1200348920

📚  View the storybook of this branch here

In this PR I updated apache commons-email lib to version 2.0.0-M1-SNAPSHOT which is migrated to jakarta. However this is not stable version from central maven repository. I had to use apache snapshot repository like it was recommended here: https://lists.apache.org/thread/prgf2m77oqwvbhgtzgry6h9x7pw5oz1d
I have a feeling that resolving task this way might lead to creating another tech sprint issue like "Use stable commons-email 2.0.0 from maven central repository when avaiable", but because this lib is for unit test purpose only maybe that is not the problem.
I created this pr to show you how it looks and ask what do you think?
Next thing is that at first glance it looks like this EmailServiceTest.java test class is the only place in whole APIM codebase where this library is really used. Maybe it would be better to just leave MimeMessageParser.java and remove this commons-email library completely from APIM? Adding whole dependency to just use it in one place seems unnecessary.

I confirm that this dependency is only used in tests. Also, I agree that enabling a snapshot registry is not great... So I think we can close the PR and add a note in the ticket that we should wait for the official release of 2.0.


Question: How get a node whose title is separated by a colon?

I have little to no experience with xml so it's a little bit confusing for me to get working with it. My question is that I have a xml like this:
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns:dcterms="http://purl.org/dc/terms/" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:app="http://www.w3.org/2007/app" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns="http://www.w3.org/2005/Atom" xmlns:opds="http://opds-spec.org/2010/catalog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="en" xmlns:odl="http://opds-spec.org/odl" xmlns:schema="http://schema.org">
  <id>https://catalog.feedbooks.com/publicdomain/browse/homepage_selection.atom</id>
  <title>New & noteworthy</title>
  <updated>2021-02-03T10:44:23Z</updated>
  <icon>/favicon.ico</icon>
  <author>
    <name>Feedbooks</name>
    <uri>http://www.feedbooks.com</uri>
<EMAIL_ADDRESS>  </author>
  <link rel="self" type="application/atom+xml;profile=opds-catalog;kind=acquisition; charset=utf-8" href="https://catalog.feedbooks.com/publicdomain/browse/homepage_selection.atom"/>
  <link rel="start" type="application/atom+xml;profile=opds-catalog;kind=navigation" title="Home" href="https://catalog.feedbooks.com/catalog/index.atom"/>
  <link rel="search" href="https://catalog.feedbooks.com/opensearch.xml" type="application/opensearchdescription+xml" title="Search on Feedbooks"/>
  <link rel="http://opds-spec.org/shelf" type="application/atom+xml;profile=opds-catalog;kind=acquisition" title="Bookshelf" href="https://www.feedbooks.com/user/bookshelf.atom"/>
<opensearch:totalResults>0</opensearch:totalResults>
<opensearch:itemsPerPage>50</opensearch:itemsPerPage>
<opensearch:startIndex>1</opensearch:startIndex>
</feed>

from which I need to get the values of :

<opensearch:totalResults>0</opensearch:totalResults>
<opensearch:itemsPerPage>50</opensearch:itemsPerPage>
<opensearch:startIndex>1</opensearch:startIndex>

I tried doing like this:

XmlElement totalResult = parsedXml.getElement('opensearch:totalResults');

String totalResultInString = totalResult.text;

But the totalResult was null, so I am here to seek help 🙏

I guess parsedXml is the XmlDocument? If so, the elements of this node are the <?xml ... and <feed xmlns ... nodes, which obviously do not match the element name you are searching for. Use parsedXml.rootElement to get the root element of your DOM tree (<feed xmlns ...); then you can ask that one for the values you are after:
XmlElement totalResult = parsedXml.rootElement.getElement('opensearch:totalResults');

@renggli  Thank you that worked :)


⚠ Bofrost.at has degraded performance

In 5232f98, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2977 ms

Resolved: Bofrost.at performance has improved in 097d36d.


Implement Forc/Sway workspaces to build fuels e2e tests

Workspaces are now a thing. A single forc build will build multiple projects.
This removes the burden from us, simplifying our codebase (by removing the binary for building all projects).
This might also lend itself to build time improvements, should Forc actually use facts like the sway stdlib being the same version and reused across all the projects.

Also, consider #252