Import issues for 3 datasets

Description of the issue
For release 23, there have been a couple of issues regarding datasets:
1. schema_major_version and schema_minor_version  in documents (schema version problem)

Single-cell RNA-seq analysis throughout a 125-day differentiation protocol that converted H1 human embryonic stem cells to a variety of ventrally-derived cell types.
A single cell immune cell atlas of human hematopoietic system

2. crc32 assertion error with generated spreadsheet file (GSE117211_KidneyMicroOrganoids_metadata_02-09-2022.xlsx)

Project GSE117211_KidneyMicroOrganoids has an assertion error where the recorded crc32c doesn’t match the calculated one for file prod/e0c74c7a-20a4-4505-9cf1-38dcdd23011b/data/GSE117211_KidneyMicroOrganoids_metadata_02-09-2022.xlsx. I believe we’ve run into this one in the past as well.

3. Duplicated file descriptors for spreadsheet

Okay, I think I see what’s going on with the last project that is having issues gliaDiversityAtlasAcrossAdLifespan. There is an xlsx file (gliaDiversityAtlasAcrossAdLifespan_metadata_02-12-2022.xlsx) in the data tab that has six different version of the descriptor file with 6 different crc32c values. The importer is trying to load all versions of those descriptor files as records (which would then be reconciled downstream) but is running into mismatches between the crc32c value on the imported data file and the crc32c recorded on the supplementary_file descriptor files

Project GSE117211_KidneyMicroOrganoids:
- We sent this file 52 times (because of the now resolved issue #886)
- The latest version of the file 2022-11-29T12:07:29.566000Z is consistent though, downloading the data file and running a crc check reveals the correct crc:
- metadata
- descriptors
- links
- data
- I think this should work in terra but we can delete the duplicates as a courtesy.

deletion:

gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/descriptors/supplementary_file/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T16:29:04.424000Z.json"
gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/descriptors/supplementary_file/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T17:10:44.501000Z.json"
gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/descriptors/supplementary_file/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T17:10:55.242000Z.json"
gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/descriptors/supplementary_file/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T17:11:09.153000Z.json"
gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/descriptors/supplementary_file/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T17:11:20.653000Z.json"
gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/metadata/supplementary_file/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T16:29:04.424000Z.json"
gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/metadata/supplementary_file/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T17:10:44.501000Z.json"
gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/metadata/supplementary_file/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T17:10:55.242000Z.json"
gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/metadata/supplementary_file/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T17:11:09.153000Z.json"
gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/metadata/supplementary_file/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T17:11:20.653000Z.json"
gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/links/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T16:29:04.424000Z_258c5e15-d125-4f2d-8b4c-e3122548ec9b.json"
gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/links/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T17:10:44.501000Z_258c5e15-d125-4f2d-8b4c-e3122548ec9b.json"
gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/links/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T17:10:55.242000Z_258c5e15-d125-4f2d-8b4c-e3122548ec9b.json"
gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/links/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T17:11:09.153000Z_258c5e15-d125-4f2d-8b4c-e3122548ec9b.json"
gsutil -m rm "gs://broad-dsp-monster-hca-prod-ebi-storage/prod/258c5e15-d125-4f2d-8b4c-e3122548ec9b/links/d1de0b5d-9fc7-5ebc-99a9-80c72845c6c4_2022-12-02T17:11:20.653000Z_258c5e15-d125-4f2d-8b4c-e3122548ec9b.json"

Regarding Issue 2 and 3:
As far as I can tell both were actually just symptoms of the now resolved #886 issue about duplicate exports.

When I downloaded the latest spreadsheet for both projects and ran a CRC check, it matched the CRC of the latest file descriptors in terra. :tada:
When I created a “new” spreadsheet from scratch, the new file had the same CRC, meaning the new file was identical. :tada:
There was a version of the descriptor for each export each with a different CRC (as well as metadata and link files), we no longer have the old spreadsheet files to match against. I have to assume that each of the spreadsheets matched the stated CRC. :man-shrugging:

So I think the only problem is that when multiple versions of a file exist in the terra staging bucket, terra is processing the OLDEST versions first. When errors are discovered, I assume the import is stopping, even when a later version exists that may not include the error.
Thankfully I don’t think we will encounter this issue in “normal” usage and has only been brought to light by an issue in the ingest system, which we have already fixed.

Update on Issue 1:
There are several entities in those 2 submissions that have outdated schemas, resulting in loading provenance 1.0.3. Our exporter tries to generate values for schema_major_version and schema_minor_version, which do not exist in that schema, ending up with schema errors.
Steps:

[ ] Identify which entities have outdated schemas
[ ] Update them to the latest (Or first schema that used provenance 1.1.0)
[ ] Re-export only metadata
[ ] Notify Nathan

Project 2043c65a-1cf8-4828-a656-9e247d4e64f1:

Ran gsutil -m cp -r gs://broad-dsp-monster-hca-prod-ebi-storage/prod/2043c65a-1cf8-4828-a656-9e247d4e64f1/metadata/ . to investigate the metadata
Ran find . | xargs -I{} sh -c "cat {} | grep -q 'schema_minor_version\": null' && echo {}" | wc -l
Found 5218 entities. From these entities:
All the metadata types are affected (`find . | grep json | xargs -I{} sh -c "cat {} | grep -q 'schema_minor_version": null' && echo {}" | awk -F "/" '!_[$2]++')
After discovering this, I did a quick comparison, and discovered that everything except the project metadata has old entities

I don't know if I will be able to correct this dataset, so I am going to focus on the other one (A single cell immune cell atlas of human hematopoietic system), which at the moment is a higher priority

Project A single cell immune cell atlas of human hematopoietic system:

Only processes are affected (Ran similar command as above, just changing the cp command to match the project uuid)

List of affected processes
 List of affected processes
b6921264-a115-4874-8f58-7e9a1a8ee032_2022-11-23T14:36:57.633000Z.json
caf67529-13b5-47e0-ab87-46597019f59c_2022-11-23T14:36:57.633000Z.json
daa9f932-0b1d-49b2-8927-334e26bb42ac_2022-11-23T14:36:57.633000Z.json
bed3c3b1-01fd-426c-8a65-1f07580cc566_2022-11-23T14:36:57.633000Z.json
4a8360b1-8c20-4022-bebc-fa50a92e7b1d_2022-11-23T14:36:57.633000Z.json
7f3a803e-8254-42fd-b7cc-b18f0011eaeb_2022-11-23T14:36:57.633000Z.json
94d9bb81-8c29-4678-861a-df72f5d5c2b9_2022-11-23T14:36:57.633000Z.json
94579770-0d24-41b9-b6b1-d7f565aba9fe_2022-11-23T14:36:57.633000Z.json
4f749210-1da4-4371-84c0-d199854e8dd2_2022-11-23T14:36:57.633000Z.json
76f00716-3c4f-4152-bcce-8b8a8ff541a9_2022-11-23T14:36:57.633000Z.json
6a801a9c-4c07-43df-a55b-63073f86e8ce_2022-11-23T14:36:57.633000Z.json
712c8ca2-0051-4d9a-bf0a-7a96dfbfaaf6_2022-11-23T14:36:57.633000Z.json
5fecee5b-9e85-48a0-bb0b-5ef7ba7e6c9e_2022-11-23T14:36:57.633000Z.json
041636ee-87fe-4665-aa62-9a7c1cf63347_2022-11-23T14:36:57.633000Z.json
b8b03f03-37ca-495a-ac4f-b51fdd5ec23b_2022-11-23T14:36:57.633000Z.json
efbbd4f1-dda9-4fbc-a98b-1bc75cee0883_2022-11-23T14:36:57.633000Z.json
33da5264-b13e-4bb9-90a4-e0447779112f_2022-11-23T14:36:57.633000Z.json
f6aa62da-ebde-4996-8795-a0beff5cd280_2022-11-23T14:36:57.633000Z.json
f330ee5b-63a3-45d4-80ea-e1a84d39d909_2022-11-23T14:36:57.633000Z.json
7c57194b-88dc-4b6e-86c1-7a33989b2446_2022-11-23T14:36:57.633000Z.json
4503151b-7dcf-432c-92b1-a1c7bdcd502c_2022-11-23T14:36:57.633000Z.json
c4d7d0ee-6eea-4066-b61b-1080ace3c61b_2022-11-23T14:36:57.633000Z.json
200996e5-16a0-49d5-913c-ecf25a122438_2022-11-23T14:36:57.633000Z.json
18d80ddd-4d6b-4a43-a863-c0f889b7cc80_2022-11-23T14:36:57.633000Z.json
5ab1ee14-88ee-4159-9b01-ef33273b9456_2022-11-23T14:36:57.633000Z.json
d1daf83b-d573-4e06-a147-5e3c57b9b011_2022-11-23T14:36:57.633000Z.json
f0c19344-fb8c-4d45-ae3f-5ccb581ee71d_2022-11-23T14:36:57.633000Z.json
4dcb8535-211a-4d93-9e82-3bed8975f952_2022-11-23T14:36:57.633000Z.json
6e2f7a1a-e113-4470-9193-73b17fef6507_2022-11-23T14:36:57.633000Z.json
e81f7eed-32ac-459c-b075-46ebf0066433_2022-11-23T14:36:57.633000Z.json
f2a86808-9e74-442e-bd62-866903b8d86e_2022-11-23T14:36:57.633000Z.json
09e1dcb4-6db6-4ded-9993-c991c3e615f7_2022-11-23T14:36:57.633000Z.json
89fb73aa-3a68-4e06-ba2a-7d17b066ba7d_2022-11-23T14:36:57.633000Z.json
ea5ffc6f-c50f-44ad-8f8d-c8d5548d46cc_2022-11-23T14:36:57.633000Z.json
934a42dd-d909-4c31-b056-0e36bd004f36_2022-11-23T14:36:57.633000Z.json
11820a89-991e-45e0-9a76-512e34fde4dc_2022-11-23T14:36:57.633000Z.json
38160445-af72-4faf-be93-212ec9ced62e_2022-11-23T14:36:57.633000Z.json
ec752b0f-b708-4cc7-8557-f36236f93384_2022-11-23T14:36:57.633000Z.json
5b23d609-58eb-41fa-a5ed-703008a46aee_2022-11-23T14:36:57.633000Z.json
6a4e0c27-291f-4caf-ac3f-12a085fae7e2_2022-11-23T14:36:57.633000Z.json
08b7f415-c188-4b64-8fbc-e193a142ac2f_2022-11-23T14:36:57.633000Z.json
5cd0c850-ee65-4137-94c7-b73056edda20_2022-11-23T14:36:57.633000Z.json
b5e3f240-308e-41bd-a65e-c0f8cb0c5177_2022-11-23T14:36:57.633000Z.json
f72fa9a0-b9ab-49e8-9378-9d9a97dd4018_2022-11-23T14:36:57.633000Z.json
53ec4980-692a-4a99-91ca-dd25fc56ab11_2022-11-23T14:36:57.633000Z.json
96a2c9a2-ecdd-453a-8fb9-28b3f8f30e1c_2022-11-23T14:36:57.633000Z.json
1577156c-87dd-4293-9830-9addf07414ae_2022-11-23T14:36:57.633000Z.json
5815d3d6-738a-41b9-9887-4ec2fe983736_2022-11-23T14:36:57.633000Z.json
7ce990fb-219d-4ed3-984d-ca8be96d6242_2022-11-23T14:36:57.633000Z.json
5430f6da-db54-4310-b94d-2f65802a28d5_2022-11-23T14:36:57.633000Z.json
aa86d5f0-2d25-4e26-9bef-fd5d52a2f50a_2022-11-23T14:36:57.633000Z.json
9d7be81a-e5de-47a8-af79-59a4ca514f61_2022-11-23T14:36:57.633000Z.json
57f38507-e7ed-47de-b8a3-1988c6547144_2022-11-23T14:36:57.633000Z.json
a0683db5-e203-48f4-b36a-ee8ac27c5620_2022-11-23T14:36:57.633000Z.json
1fe593af-3bd7-45dc-bc53-89bbcfa14d0a_2022-11-23T14:36:57.633000Z.json
5da25649-8d6b-4740-9165-2374c0744876_2022-11-23T14:36:57.633000Z.json
f9204513-2736-4457-b2d6-b81f6baf9e87_2022-11-23T14:36:57.633000Z.json
277144ba-638f-4d99-838c-e208458f41f7_2022-11-23T14:36:57.633000Z.json
2c352d95-96d0-4c71-bbe7-5520b8308803_2022-11-23T14:36:57.633000Z.json
ce4c0953-c697-47c5-9471-ed11d1f907ba_2022-11-23T14:36:57.633000Z.json
5acf8ed3-be2d-47bf-90c1-dca6bc89c92f_2022-11-23T14:36:57.633000Z.json
e4408f8a-40d5-4ae6-b24f-002c2b2d3eb2_2022-11-23T14:36:57.633000Z.json
862221fe-8c4a-4333-a82f-27ad2da26e03_2022-11-23T14:36:57.633000Z.json
e05bf632-9d70-400c-890b-3194f2f92623_2022-11-23T14:36:57.633000Z.json
6609c4c8-a166-45fc-83b8-f552000ea180_2022-11-23T14:36:57.633000Z.json
f26c691f-8259-48d7-a918-a60a87fc840f_2022-11-23T14:36:57.633000Z.json
da5d3e97-55a8-470f-9d8c-a4d2ab8e3022_2022-11-23T14:36:57.633000Z.json
1d1ab78a-8dd7-47ce-be8f-f4290b713a4d_2022-11-23T14:36:57.633000Z.json
051d2f41-0f7f-448e-bb53-df3d6ca4647d_2022-11-23T14:36:57.633000Z.json
de6f7151-44ad-4ab7-b969-eb0f795a3e2c_2022-11-23T14:36:57.633000Z.json
a160bdee-cc7c-4e1b-a2be-5227d0c4ddba_2022-11-23T14:36:57.633000Z.json
8dd950d7-1e2e-4f40-969e-469631d734ea_2022-11-23T14:36:57.633000Z.json
c65ca2ec-02b1-491b-a797-e7d072fc4c93_2022-11-23T14:36:57.633000Z.json
e4b00508-c601-4368-bee4-a67489df1240_2022-11-23T14:36:57.633000Z.json
f8578823-e58d-4c78-a4b4-1625adc3a7eb_2022-11-23T14:36:57.633000Z.json
b90a0941-6aea-48fc-8cf2-36d6b5cf51ed_2022-11-23T14:36:57.633000Z.json
1c6e8f00-1196-4935-8e8a-0524a65bb231_2022-11-23T14:36:57.633000Z.json
cc255af8-cbe4-4e93-a09c-8551eebc7e01_2022-11-23T14:36:57.633000Z.json
c925e726-8819-4bbb-90f0-a0b435d74867_2022-11-23T14:36:57.633000Z.json
6ff14ad3-efe0-4c03-982c-849cc9e42207_2022-11-23T14:36:57.633000Z.json
3d91d618-6c74-4c24-a2f9-88cd882fa8bc_2022-11-23T14:36:57.633000Z.json
615099a9-8769-48a2-be7a-2ea2fa7e659f_2022-11-23T14:36:57.633000Z.json
9bcf26d6-5518-4fd0-940d-d0578c1ea261_2022-11-23T14:36:57.633000Z.json
afe14ae8-096d-458a-81a5-7a3ac43ba5d9_2022-11-23T14:36:57.633000Z.json
4f517288-3574-4586-836e-db6eaab13674_2022-11-23T14:36:57.633000Z.json
22b1cebb-5eab-48cb-a017-e60284bd3ff5_2022-11-23T14:36:57.633000Z.json
ce9a6ed9-ca53-422b-a208-91d447dbf4a5_2022-11-23T14:36:57.633000Z.json
9adb3dee-717f-45dc-892a-578617ebc55b_2022-11-23T14:36:57.633000Z.json
e9ffb21d-38cc-4c40-bbb1-8ab944b9836a_2022-11-23T14:36:57.633000Z.json
b0a97386-49d6-4c17-9a96-4dd0a4676cbd_2022-11-23T14:36:57.633000Z.json
3e899b6f-959e-4b3c-9baa-6b247b06c350_2022-11-23T14:36:57.633000Z.json
e7ede29d-d867-44b7-badd-16ff716210ea_2022-11-23T14:36:57.633000Z.json
f86d81b6-542c-42d2-b2f8-e8521a256818_2022-11-23T14:36:57.633000Z.json
71369214-57de-4e8e-b8a2-2a3719684bb1_2022-11-23T14:36:57.633000Z.json
d02b7fb3-4760-47f3-ae90-4b1af4723752_2022-11-23T14:36:57.633000Z.json
b9027d1a-a4d4-4719-ae3d-288e09f849c8_2022-11-23T14:36:57.633000Z.json
989148b3-7e6d-4d93-914b-c9f185ceff95_2022-11-23T14:36:57.633000Z.json
e50920a4-0900-4520-92d3-959ec30fd992_2022-11-23T14:36:57.633000Z.json
1d81d490-6526-4f54-b25a-9f32ed668798_2022-11-23T14:36:57.633000Z.json
b6f5cb87-5744-4bf5-8d53-ffe6920bab2c_2022-11-23T14:36:57.633000Z.json
2e42de1b-4f53-44a9-a87e-d657201c0aa9_2022-11-23T14:36:57.633000Z.json
8c980607-de68-45ac-ba49-3435ba0a2a2a_2022-11-23T14:36:57.633000Z.json
dc9f5acf-b7eb-4577-a1c6-50154c5e4c9f_2022-11-23T14:36:57.633000Z.json
062ea5b8-ad82-469b-aab5-7073545f888c_2022-11-23T14:36:57.633000Z.json
9ad2cada-4c3c-4cc4-9b7c-d4d2b0b04613_2022-11-23T14:36:57.633000Z.json
b0d7d9ae-592b-4f61-bad9-0210c4ec0183_2022-11-23T14:36:57.633000Z.json
33d2b45e-5d35-4e92-8bfc-3fec37d7358e_2022-11-23T14:36:57.633000Z.json
487018ec-3f8c-4c30-b02b-abdcb051c5eb_2022-11-23T14:36:57.633000Z.json
7d866229-6766-4bf1-baef-20899d1dee52_2022-11-23T14:36:57.633000Z.json
d42018ce-e28c-4e5b-858d-60fc3ccb4fc7_2022-11-23T14:36:57.633000Z.json
7d4b2368-33e0-47a7-9735-ce58b184af56_2022-11-23T14:36:57.633000Z.json
82d461ac-9605-4f65-88a6-9897e4e16b4d_2022-11-23T14:36:57.633000Z.json
95042ff3-e27d-4311-87f4-93d82a3d83d8_2022-11-23T14:36:57.633000Z.json
e1afc0b4-9664-44c5-b5c2-5e76ebbb5e01_2022-11-23T14:36:57.633000Z.json
1f3bc911-180e-4d92-8b05-6a0bb77ce3ee_2022-11-23T14:36:57.633000Z.json
2965c3c4-f874-4c86-9ff0-ae9e5e3ca29d_2022-11-23T14:36:57.633000Z.json
e4da8e48-3790-403b-bdbf-7def687fc230_2022-11-23T14:36:57.633000Z.json
2169c7f2-0add-40c5-949b-a5b37c19f802_2022-11-23T14:36:57.633000Z.json
ebd59fe4-4009-452d-a8e2-91c5437677c5_2022-11-23T14:36:57.633000Z.json
f396a9fd-5907-4ae9-a0fa-7a6ee2d4550d_2022-11-23T14:36:57.633000Z.json
6109861a-d672-47f7-9a65-c2f424ab27d5_2022-11-23T14:36:57.633000Z.json
2f8707d5-4f27-4d02-affa-724d55753b47_2022-11-23T14:36:57.633000Z.json
5c29767c-8d6e-481c-95ab-dff08d72fd10_2022-11-23T14:36:57.633000Z.json
19b6a831-6525-4aaa-be52-368c7e744c46_2022-11-23T14:36:57.633000Z.json
0888d86d-9c92-49e1-9663-65523128f443_2022-11-23T14:36:57.633000Z.json
359276eb-dfe7-4444-b5c2-7f5eeb5ba43d_2022-11-23T14:36:57.633000Z.json
5d25e058-6812-4002-b835-ec7debc55425_2022-11-23T14:36:57.633000Z.json

So, the course of actions is:

[ ] Find out which version they are on
[ ] Find out which version will be acceptable
[ ] Find out if it's an easy update
[ ] If it is, update and re-export (Only metadata) deleting the entities that have been updated from the staging area

The fixes to the last dataset will be documented in a separate ticket, https://app.zenhub.com/workspaces/operations-5fa2d8f2df78bb000f7fb2b5/issues/ebi-ait/hca-ebi-wrangler-central/992
Moving this ticket to done


Slack invite link has expired

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1884
Originally created by @DouweM on 2020-03-26 20:51:34

View 2 previous comments from the original issue on GitLab


New dependent: (JokeAPI) Full featured Java API

Link to the project:
JokeAPI
https://github.com/EasyG0ing1/JokeAPI

Link to my personal website / GitHub page (optional):

https://github.com/EasyG0ing1

Is your project explicit or unsafe for minors to view?

[ ] Yes, it contains explicit material
[X] No, it doesn't contain explicit material

Notes:

This Java API includes every feature available from Sv443's API, including the ability to post new Jokes (though I have been getting a 500 Internal Server Error during testing so I have left that feature out of the documentation for now, though the code is written. Joke content searching, range definitions, all categories and black lists along with several different methods for users of the API to gain access to the jokes are included in this API. Even error reporting is included and accessible to users of the API, including all of the possible server response codes that can be seen in problematic situations.
The API has also been published to Sonatype and can be included in any project using Maven, Groovy, and Gradle.

Checklist:

[x] I have added my project's name to the title of this issue
[x] I have filled out at least the first URL (second one is optional)
[x] I have specified whether or not my project is explicit

Also tell me if you have a unique name for it as I had to use the package identifier (or whatever it's called) to differentiate it from the other java wrapper

@Sv443 I could rename the repository if that's what you're asking?

@Sv443 I could rename the repository if that's what you're asking?

Only if you want to and you don't like what's currently in the readme

@Sv443 Also, do you know why I keep getting a 500 error from the server when I submit json data to it?

Yes, the submissions are closed until the next major release because I can't keep up with them with the current garbage system

@Sv443

Yes, the submissions are closed until the next major release because I can't keep up with them with the current garbage system

This is good to know ... I'll change the library to indicate that submissions are not being accepted when it continues to return a 500 response yet leave the submission feature active for when the time comes that you're able to accept them again.

Is there any option of opening it up for dry runs only?

Good point, I was able to change it so dry runs are allowed now using the ?dry-run parameter. The response code 201 indicates the format is correct, while 400 means it's not. The additionalInfo prop then tells you about which properties are missing or malformed.

I did enforce rules in the submission class that don't allow them to choose ANY as the type, and also it checks to make sure there is actual text in the right fields so that people can't inadvertently send annoying empty jokes, or they can't select a two-part joke while only filling out the joke field... the correct fields have to be filled out aligning with the chosen type before the class will send the joke.

That's aweseome!
The next version would have a submission dashboard where people would be able to downvote bad submissions but it's always a good idea to pre-filter them.
Also Any as a category isn't allowed in submissions and would give a 400 response.

I'm open to suggestions. I threw the repository and the readme together very quickly ... I'm not attached to any part of it emotionally lol

Sorry but if I was good at naming things this API wouldn't be called JokeAPI lol

@Sv443

Sorry but if I was good at naming things this API wouldn't be called JokeAPI lol

Is that a joke?  🤣🤣🤣🤣

@Sv443

Sorry but if I was good at naming things this API wouldn't be called JokeAPI lol

Perhaps RandomJokeWithMultipleOptionsAPI might have been more accurate ... 😉

@Sv443

The response code 201 indicates the format is correct, while 400 means it's not. The additionalInfo prop then tells you about which properties are missing or malformed.

Is this additionalInfo prop just a string that you package into the server response along with the response code?

@Sv443

The response code 201 indicates the format is correct, while 400 means it's not. The additionalInfo prop then tells you about which properties are missing or malformed.

I notice that the response comes back as a json object containing a boolean error, a String message and timestamp which is of course next to the actual response code separated by a semicolon...
My question is, if the response code ever comes back as 500 - I'm assuming that the json string will not be returned along with that response code as the response message in a 500 scenario would be much more generic in nature being a response from something other than the API itself, is that correct?

However, if the response code comes back as 400, there is no info as to what is missing from the joke, I only get the text

I don't know what you're getting from the API but I'm getting this response:

Also, if the response code ever comes back as 500 - I'm assuming that the json string will not be returned along with that response code as the response message in a 500 scenario would be much more generic in nature being a response from something other than the API itself, is that correct?

In the case of submissions and some other cases you would still get an error response in the same format, albeit maybe with more generic information and the internalError prop set to true.
This is the main reason I always included the error prop and kept the error object format the same everywhere, so you have a quick way of knowing if there was an error and you don't have to do much validation.
Though if the error code is above 500, such as 521 or 1015, you will probably be served an HTML error page from Cloudflare instead, so it might not be the worst idea to have a Content-Type header check for every response, or at least for errors.

@Sv443

I don't know what you're getting from the API but I'm getting this response:

Can you show me the complete JSON String that you sent that returned that error?

Sure:
{
    "formatVersion": 3,
    "category": "Any",
    "type": "single",
    "joke": "A horse walks into a bar...",
    "flags": {
        "nsfw": true,
        "religious": false,
        "political": true,
        "racist": false,
        "sexist": false,
        "explicit": true
    },
    "lang": "en"
}

Changing the category to Misc returns a 201 with this object:
{
    "error": false,
    "message": "Dry Run complete! No errors were found.",
    "timestamp":<PHONE_NUMBER>213
}

@Sv443
When I send this:
{
  "formatVersion": 3,
  "category": "Any",
  "type": "single",
  "joke": "Why did the chicken cross the road? To get to the other side.",
  "flags": {
    "nsfw": false,
    "religious": false,
    "political": false,
    "racist": false,
    "sexist": false,
    "explicit": false
  },
  "lang": "en"
}

I get this back:
Server Code: 400
      Error: YES
    Message: Bad Request
  Timestamp: December 05, 2023, 02:00:36 AM

Of course I formatted the return from the server but that's the bits that I get

Are you sure you're parsing the response message in case of an error? This only seems to be the basic HTTP info. There should still be some kind of request body you can read.

@Sv443
I figured it out, I had to check for a response code of >=400 and if true, I had to grab the error stream from the connection so I could get the payload.
I'm kind of new to coding with web servers so its a learning process for me and this API has been good to learn from.

Nice :)
Honestly same here, this API was an entire learning experience, that's also why so many things are a bit weird about it, even to this day after I rewrote it from scratch for v2. I planned v3 originally to reiterate on my gained knowledge one last time and fix everything I don't like (which is quite a lot tbh).
But in the end many people still like using it and it does work and so I'm happy about that.

@Sv443

But in the end many people still like using it and it does work and so I'm happy about that.

You can't argue with results, and I see your API used a lot in example Arduino code which is what got me curious about it in the first place. Then when I saw that you actively look for wrappers written in other languages, I had to jump on it.
The only "cumbersome"-ness about your API - in my opinion, is the way that the SINGLE and TWOPART works ... its a bit awkward having to specifically deal with two different joke types.
I think I would have opted instead, to have the joke itself sent and received with an ArrayList of Strings. That way, the joke itself can be one line or multiple lines as the joke submitter prefers.
That would make the JSON of a numerous-line Joke look like this:
{
  "id": 1678,
  "error": false,
  "category": "Misc",
  "lines": [
    "A priest, a pastor and a rabbi walk into a bar and soon begin arguing over who’s the best at what they do.",
    "",
    "Eventually they decide that in order to prove who’s the best, they would all go out alone into the woods and convert a bear to their respective religion.",
    "",
    "A few weeks later.. they meet up at the bar and the priest announces, \"I found a bear by the river and started talking to him about the Lord. He liked it so much that he now comes to mass every week.\"",
    "",
    "The pastor says, \"Well, I saw a bear in the clearing. I started reading him the bible and he loved it so much that he is now going to be baptized in about a week.\"",
    "",
    "The priest and the pastor turn to look at the rabbi, who now has a broken arm, a fractured collarbone and several cuts and bruises. The rabbi says, You know what, looking back.. maybe I shouldn\u0027t have started with circumcision"
  ],
  "flags": {
    "nsfw": false,
    "religious": true,
    "political": true,
    "racist": false,
    "sexist": false,
    "explicit": false
  },
  "safe": false,
  "lang": "en"
}

Or a two-liner would look like this:
{
  "id": 1678,
  "error": false,
  "category": "Misc",
  "lines": [
    "Why did the chicken cross the road?",
    "To get to the other side."
  ],
  "flags": {
    "nsfw": false,
    "religious": false,
    "political": false,
    "racist": false,
    "sexist": false,
    "explicit": false
  },
  "safe": true,
  "lang": "en"
}

or a one-liner would look like this:
{
  "id": 1678,
  "error": false,
  "category": "Misc",
  "lines": [
    "A recent double blind study done by the University of Chicago discovered a specific food that greatly reduces sex drive; wedding cake."
  ],
  "flags": {
    "nsfw": false,
    "religious": false,
    "political": false,
    "racist": false,
    "sexist": false,
    "explicit": false
  },
  "safe": true,
  "lang": "en"
}

The payload format is identical in all possible scenarios. This lets a joke be any size it needs to be while simplifying the handling of the joke at the same time.

I get that this would make parsing simpler but at the same time I feel like there would still need to be some kind of separator that indicates where the "canonical parts" of the joke are, like in a Q&A style joke. I did it this way because it allows programmers to either concatenate them and treat them as a type=single joke or have them separated and only reveal the second part after the user clicks a button or after a timeout or something.
So all in all I still think the current way is a good compromise.

@Sv443
I had not considered a scenario where there might be a desire to hide the response or time its reveal... makes sense under that scenario to do it this way.
Since that is the intended purpose of the two part joke, I'm going to modify the API a little and mention this use case in the README.
By the way, help me understand the need to rename my repository ... give me some context that helps me understand what your challenge is so I can pick a name that will work for you.

By the way, help me understand the need to rename my repository ... give me some context that helps me understand what your challenge is so I can pick a name that will work for you.

There really is no need, I just feel like a unique name could differentiate it better from the other Java wrapper lib but it's entirely up to you.

By the way, help me understand the need to rename my repository ... give me some context that helps me understand what your challenge is so I can pick a name that will work for you.

There really is no need, I just feel like a unique name could differentiate it better from the other Java wrapper lib but it's entirely up to you.

I renamed it to JavaJokesAPI
https://github.com/EasyG0ing1/JavaJokesAPI
If you could maybe have it look like this?

@Sv443 I have a question about the data structure returned.
Heres some raw json that I get back:
{
  "error": true,
  "internalError": false,
  "code": "107",
  "message": "Payload too large",
  "causedBy": [
    "The provided payload exceeds the limit of 5120 bytes (5.0 kB)."
  ],
  "timestamp":<PHONE_NUMBER>441,
  "additionalInfo": "Payload too large (5762 Bytes - maximum is 5120 Bytes)."
}

and this one
{
  "error": true,
  "internalError": false,
  "code": "105",
  "message": "Malformed Joke",
  "causedBy": [
    "This joke was formatted incorrectly."
  ],
  "timestamp":<PHONE_NUMBER>996,
  "additionalInfo": "Submitted joke format is incorrect. Encountered error/s: Joke doesn\u0027t have a \"type\" property or it is invalid - it has to be either \"single\" or \"twopart\"."
}

{
  "error": true,
  "internalError": true,
  "code": "100",
  "message": "Internal Error in HTTP Server",
  "causedBy": [
    "An error in the code - please contact me through one of the options on my website (https://sv443.net/) with the additional info."
  ],
  "timestamp":<PHONE_NUMBER>425,
  "additionalInfo": "Joke submissions are disabled for the forseeable future."
}

Now that the actual server response codes that I get from these are either 400 or 500, but in the payloads , the "code" is in the 100's ... what does your code number signify that it should be different than the server response code?

The API error codes are meant to be a quick way to differentiate error messages, either in error reports or on the clients too. They have nothing to do with HTTP and were just arbitrarily defined in here: https://github.com/Sv443/JokeAPI/blob/master/data/errorMessages.js
Of all of them, I'd say only 100 and 104 are generic and would need a look at the additionalInfo prop

I was able to modify the documentation page and your wrapper is added to it now.


Fix CRLF file format

Why are these changes needed?
Two files were missed in PR #2915 , this PR fixes it.
The problem was caused by the introduction of .gitattributes file in PR #2566. Prior to it, there were no checks on line ending and a number of files were committed in CRLF format. Since .gitattributes specified that some of those files should be in LF format, git automatically converted them.

Related issue number

Closes #2920
Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

These are hackers hacking me please contact fbi
On Thu, Jun 13, 2024, 11:49 AM github-merge-queue[bot] <
@.***> wrote:

Merged #2935 https://github.com/microsoft/autogen/pull/2935 into main.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/autogen/pull/2935#event-13149867064, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BI3MSTFRHKM4K3LGXM3NFV3ZHHERJAVCNFSM6AAAAABJIJEYLCVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJTGE2DSOBWG4YDMNA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


M00-LAB00: QUICK_DESCRIPTION

Contact Details
<EMAIL_ADDRESS>What happened?
In Learning Path 6, Lab1 - Exercise 2 - Task 2 there is an issue connecting the azure vm to the data collection rule.
First issue: in step 7 when selecting "Windows Security Events via AMA" Azure generates an error "Error loading side panel." see screenshot 1. I managed to get to the correct screen by clicking the "1 item" link (see screenshot 2).
Main issue: in step 8 to 13 I run into a validation error. When following the steps, on step 13 I recieve a validation failed error bar (see screenshot 3).
The bar is not clickable and there is no clickable link in the error.
Lab
Lab 06 Exercise 02 Connect Windows devices to Microsoft Sentinel using data connectors
Relevant screenshots
paste here 😉
Do you want to help us? 👏

[ ] Create a Pull Requestt by following this project's Contribution Guide

Hi. I haven't seen this issue. I will attempt to reproduce.

I cannot reproduce any of these errors.


Add quickstart example for task queue functions.

NOTE: Requires custom build of the admin SDK

There are just under 10,000 astronomy pictures of the day (archive). So theoretically we could slurp down the whole thing in two hours while still respecting the 9k/hour rate limit of the NASA API. That's probably ok, just wanted to point it out

Closing in favor of https://github.com/firebase/functions-samples/pull/971


Remove all metrics sub workflows

Adds default avoidance for all metrics workflows which are not required for production operation - instead of adding these dodges in config_overrides.toml, the default config will now suppress these behaviours.
Closes #689
Also removes the attempt at overriding config settings directly on sub-workflow WDLs. This did not work in practice.

this test fail looks like it's to do with the new cpg-utils release. I'll look into it tomorrow


Reset button and ResetAll doesn't uncheck checkboxes

e.g. regex and exclude checkboxes

@misanek fixed by you, thanks


entoa.Example annotations are ignored

I found an issue with ent and entoas. While checking out a generated openapi.json file I thought it would be nice to have some example values prepared for testing the API.
By browsing the entoas's source code, I found annotations for that [entoas.Example] ready to use:https://github.com/ent/contrib/blob/d262910a1bbd19484e3d449ec7e41f78c8f5f401/entoas/annotation.go#L75
After playing with it for some time, even if it provided examples, it seems that is completely ignored.
Current Behavior 😯 &&  Steps to Reproduce 🕹
I was adding them like this:
field.String("name").
	Annotations(entoas.Example("zxc")),

In very different scenarios - on fields, edges, and top-level annotations nothing changed. The spec still looks like this
{
  "summary": "Create a new User",
  "description": "Creates a new User and persists it to storage.",
  "operationId": "createUser",
  "requestBody": {
    "description": "User to create",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
            "properties": {
              "name": {
                "type": "string"
              }
           }
         }
       }
     }
   }
 }

Expected Behavior 🤔
example field is applied to the spec
After, some debugging, I found out that there is no code responsible for that. So here I am.
The main problem is in the OgenSchema function. It gets a schema for each field type (f.Type.String()) and returns it without any changes - e.g. "string" -> ogen.String(). Anything else is basically ignored.

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Your Environment 🌎

Tech
Version

Go
1.22.3

entgo.io/contrib
v0.5.0

entgo.io/ent
v0.13.1

Database
irrelevant

Driver
irrelevant

In the meanwhile, I created a PR with fix for that:
https://github.com/ent/contrib/pull/586


chore: Update storage version to v1beta1 APIs

Fixes #N/A
Description

Update storage version of the Karpenter CRDs, since v1 APIs are not currently being used in code

How was this change tested?

N/A

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.06%) to 78.368%

Totals

Change from base Build<PHONE_NUMBER>:
0.06%

Covered Lines:
8720

Relevant Lines:
11127

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.06%) to 78.368%

Totals

Change from base Build<PHONE_NUMBER>:
0.06%

Covered Lines:
8720

Relevant Lines:
11127

💛  - Coveralls


Update eager notebooks with buttons, licenses, and change filenames

Thanks. Updated, PTAL

This was my attempt to remove that file from this PR.
I'm updating that file in this branch: https://github.com/lamberta/tensorflow/blob/r1.10-tutorials/tensorflow/docs_src/tutorials/_index.yaml
Which depends on this PR.

Reverted my attempt to make it easier that did not make it easier. File names should be in sync now.


StashCache docs cleanup

This is an attempt at cleaning up the StashCache cache installation doc, merging in the corrections from #443.
This goes along with the packaging changes in opensciencegrid/StashCache-Daemon#8.

Can we get a new version of the StashCache RPM cut ASAP?  Seems to me that it’s better to put our energy on the cleaned-up RPM instead of correcting the docs for the old one.

https://opensciencegrid.atlassian.net/browse/SOFTWARE-3434

I'm thinking of merging this, then creating a PR that adds --enablerepo=osg-development to the install instructions; I'll revert that PR once we've put the new version of the RPM in an OSG release.


Add cnfa example

Per https://github.com/cntools/cnfa/issues/17, add an example of using cnfa on Android.

You can now rebase your prs on master to fix the ci.

Cool, have rebased

This is still failing CI.  Any chance you can troubleshoot that before I accept?

Before, the CI was broken on some apt-get issues - now it's unable to find a header.
I had the same error, and found the necessary header at -I$(NDK)/sysroot/usr/include/android in my local NDK. In the PR, I've added an include path which does not seem to work.
I'll try to replicate this NDK setup

Thank you.

Had the wrong include path :upside_down_face:

This is insufficient for older SDKs, please include both include paths, not just altering it.

I think the Github UI made the diff confusing, I've not removed any path, just added a new one.
I've flipped the order so the diff is clearer

Ah, I think I get it; I've added the other path as well

I know a little annoying to ask now - can you make it so like pressing something triggers the sound?  So it doesn't always run?  Ram Jamming a loud eeeeeee is bit annoying for a simple test.


Pytree-based Optimizers

This topic is in my mind every once in a while, it has already been discussed extensively (e.g. https://github.com/deepmind/optax/issues/197#issuecomment-982548377), but I feel it needs new life because it could resolve the last remaining quirks in optax.
Optax optimizers have well defined API and contrary to neural networks they have clear ways on how to update their state, making them perfectly suitable for pytree/dataclass interfaces. Similar to what @NeilGirdhar has done here, one could express Pytree version of all optimizers by wrapping functional optax with the added benefits:

Optimizer can now pass through jax's function transformation boundaries, e.g. jit.
Hyper-parameters could be updated using immutable API's like .replace().
You could get rid of the optimizer vs opt_state separation.
You can now inspect hyper-parameter updates e.g. log the learning rate under a schedule.

Example
For this example I'l be using Flax's PyTreeNode but any pytree implementation is just as good.
class SGD(PyTreeNode):
  learning_rate: ScalarOrSchedule
  momentum: Optional[float] = None
  nesterov: bool = False
  accumulator_dtype: Optional[Any] = field(pytree_node=False, default=None)
  opt_state: Optional[OptState] = None

  @property
  def tx(self):
    return optax.sdg(**{k: v for k, v in vars(self).items() if k != 'opt_state'})

  def init(self: A, params: Params) -> A:
    return self.replace(opt_state=self.tx.init(params))

  def update(
    self: A, updates: Updates, params: Optional[Params] = None
  ) -> Tuple[Updates, A]:
    updates, opt_state = self.tx.update(updates, self.opt_state, params=params)
    return update, self.replace(opt_state=opt_state)

# sample usage
tx = SDG(3e-4)
tx = tx.init(params)
updates, tx = tx.update(grads)
params = optax.apply_updates(params, updates)

Proposal
Given that any community shim will probably not succeed, how about a optax.pytree namespace (naming suggestions are welcomed) where a shim could officially live and be discussed with the core team?

@mkunesch @rosshemsley @hbq1 let us know what you think 👍

Just some thoughts:

JAX function transformations on classes can be a source of confusion for users. Functions are generally easier to reason about under JAX transformations than class methods.

This proposal doesn't change anything for users since the interface is identical except for the four benefits mentioned.  The reasoning that users have to do is exactly the same.  If anything, the user reasoning is simpler since sequence interface is not exposed.
I agree that library developers would have to adapt, but doesn't seem relevant.
This issue is really unfortunate because I suggested the improved design in the very first issue.

It would also be a good idea to try and "break" this design - e.g. what happens when using more esoteric JAX transforms (such as vmap, pmap, pjit, or grad)

Why don't you try breaking it?
I think it would be good to at least block the sequence, which are misuses of the current optax design.  This will make it easier to improve your design in the future.


Change background-position-y of main jumbotron to 40%

Type of change
SCSS file change
Specific Code Changes
Added background-position-y: 40%; to the .con-container class in main.scss
Objective of Change
In the main jumbotron image, the focus of the image is on the clouds and not on the city below.
By changing the positioning of the image, a user will be able to discern that the city is Paris quickly because the Eiffel Tower will be more in view.
Media
Before:

After:

Can anybody explain what "ghost" is and why it is closing PRs?


Documentation: Set up comprehensive G4A view

It's possible to find out everything you need of course, but there isn't a nice quick overview of important metrics (https://crate.slack.com/archives/C2NQ7AN1G/p1716292288814259)

@matkuliak not sure if the public repo is the right place for that ;)

Edited, just to have a ticket on GitHub.

Not perfect, but solved w/ @geragray


How to switch to english interface

Hi,
I don't understand german and I want to switch to English to understand the meaning of buttons from toolbar.
How to change language ?

It's using the Visual Studios / Operating Systems UI language. There is actually no way to show English ResXManager on a German system.

@Sonic3R may be referring to the standalone app.  It comes up in German for me, too, and my OS is set to English.

@adv12, @Sonic3R  are you using the standalone version from the click-once deployment?

I used a compiled app from Visual Studio 2019

https://github.com/tom-englert/ResXResourceManager/blob/6ba9506c95e45c05e2e95a8c141d2d8ccf6f21d4/ResXManager/App.xaml.cs#L28-L32

It happens in Release (when publish app as installer) too. I will change in code to use always EN

When I use the official click once, it shows English on non-German systems


bumpversion: 0.1.0 -> 0.1.1

@JuliaRegistrator register

Error while trying to register: "Tag with name v0.1.1 already exists and points to a different commit"

@JuliaRegistrator register

Error while trying to register: "Tag with name v0.1.0 already exists and points to a different commit"

You didn't understand me... Let's try again.

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/56816
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.1 -m "<description of version>" b364ec6c6575dcf8f4146ec39993156b1ba67d43
git push origin v0.1.1

Okay, you've got what I mean.


NewBlurViewController_ANF

finished on converting ASI calls into ANF calls.
but I realized that all classes in Offline directory has been implemented using ASI downloading queue, so we should convert into or replace them with somethinig new.

I'm sorry Michel but I'm not going to be able to accept this PR. It's missing some of the subtleties that come from institutional knowledge, and later on there are trickier migrations that need more knowledge about the entire code base. It was my mistake to outsource this work.


fixed issue #21 …

This is to replace the previous PR. I had a little problem with cherry-pick, so squashed the changes instead.
Still learning git, let me know if there's any problem.

Couple of comments, please see if that can be addressed in this PR.
Looks very good in general.

Gents, changed as suggested. Please review it.

I think it boost code it's generally better to use boost smart pointers, since they are sometimes working around broken compilers.
By std::unique_ptr in review i just meant a smart pointer, not specifically C++ std one.

In this specific case, we are using a feature that's only available to std::unique_ptr::release(), which is not available in boost::scoped_ptr() by design.
there's no boost::make_scoped() either.
I feel it's bad and confusion to mix boost and std smart pointers in a single file, hence the changes.

@berkus well i haven't more remarks, except of small :lipstick::lipstick:

I feel it's bad and confusing to mix boost and std smart pointers in a single file
Then just replace all the boost code with std, like I did in linux inotify backend in #6. Smart pointers are pretty well implemented in both GCC and MSVC.

Yes, this is what I thought and did in this commit.

I'll make a cleanup sweep on the code and merge it in a couple of days, stay tuned.
Thanks for your help, all!

Merged manually via [8dc6646]


missing code?

I wanted to try compiling your code with flexspin, but I don't see any .spin2 files (or indeed anything that looks like code) in the repository. Is something missing, or have I overlooked something?
Thanks, Eric

Eric, see the develop/ branch.  I'm still working toward the initial release.  There's a good test for you there.  The top files are isp_hub75_demo*.spin2

Eric found the code... (on develop branch at the time)


[Add] Button Change

Details
I want to add new Button.
Screenshots

https://github.com/Spyware007/Animating-Buttons/assets/89697445/ddaca5ea-5acc-44a8-b974-a1e5552503cc
Type of Contribution

[ ] Update to an existing Animated Button
[X] Adding a new Button
[ ] Resolving a bug
[ ] Proposal to the Repository
[ ] Changes related to documentation or README.md
[ ] Other Changes

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue
[X] I am a GSSoC'23 contributor

I would like to work on this issue under GSSOC'23.Please assign me this task.

Please check #1346


[BUG] yurtadm failed to Download cni plugin from some ip addresses

What happened:
yurtadm is trying to download the cni plugin. But it seems that the download is blocked from some ip addresses. From my home network the download works, from my cloud provider I run into a timeout.
"I0303 23:09:36.315047    1788 kubernetes.go:162] Download cni from:  https://aliacs-edge-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/public/pkg/openyurt/cni/v0.8.0/cni-plugins-linux-amd64-v0.8.0.tgz",
"Error: Get \"https://aliacs-edge-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/public/pkg/openyurt/cni/v0.8.0/cni-plugins-linux-amd64-v0.8.0.tgz\": dial tcp <IP_ADDRESS>:443: i/o timeout", "Usage:", "

Maybe such dependencies are better served on github.
Apropos github: I am currently looking for the repository from which the cni is built. I would like to build a workaround. Where can I find that? The same applies to the sealer image. Where can I make the adjustments there? Does it make sense to transfer both repos to openyurt?
Thanks!
Environment:

OpenYurt version: v1.2.1

/kind bug

@batthebee Yurtadm supports to use cni binaries that uses prepared beforehand, and cni binaries should be placed under /opt/cni/bin directory.then congfiure yurtadm parameter --reuse-cni-bin=true for yurtadm join command.

@rambohe-ch   thanks for the workaround. What is the cni needed for at this point? In the docs under manual setup the cni does not appear at all.
Where can I find the sources? What is it based on?

@rambohe-ch thanks for the workaround. What is the cni needed for at this point? In the docs under manual setup the cni does not appear at all.
Where can I find the sources? What is it based on?

@batthebee It seems that tutorial of yurtadm join has no info about --reuse-cni-bin. @YTGhost would you be able to add --reuse-cni-bin  parameter and kubelet/kubeadm binary replacement info into the website docs?
https://openyurt.io/docs/installation/yurtadm-join/

@rambohe-ch thanks for the workaround. What is the cni needed for at this point? In the docs under manual setup the cni does not appear at all.
Where can I find the sources? What is it based on?

@batthebee It seems that tutorial of yurtadm join has no info about --reuse-cni-bin. @YTGhost would you be able to add --reuse-cni-bin parameter and kubelet/kubeadm binary replacement info into the website docs? https://openyurt.io/docs/installation/yurtadm-join/

Of course, I will add documentation as soon as possible

@rambohe-ch I remember that the cni we are using is specially modified, do we also have to explain it inside the documentation and make the changes public as a repository?

@rambohe-ch I remember that the cni we are using is specially modified, do we also have to explain it inside the documentation and make the changes public as a repository?

@YTGhost maybe you can add the reference link: https://openyurt.io/docs/user-manuals/network/edge-pod-network/ in the yurtadm doc.


 tag dosen't work in bootstrap popover

Issue visible in Windows 10
Chrome, Firefox
Reproductions:

Bootstrap v3.4.1 Example
Bootstrap v4.6.0 Example

When in "data-content" we put <dl> element it isn't visible in popover.
For version 4.2.1 it work fine(Example)

Popover content gets sanitized, as well as tooltips'. You can read more about sanitization in pour docs.
To support dl, dt and dd you need to add them to the whitelist.


Change default folder for chroot?

I installed to /media/removable/SD_Card. whenever I update crouton, i have to specify the -p and -c for backup and restore.
Is there a way to change the default chroot folder permanently?

@bangity -
I don't think permanently but you can setup 'aliases' in a .bashrc or .bash_aliases file, etc. that make it painless to launch them.
I have some setup to use my 'crispy' crouton partition but you could do the same for your external media.  Here are a couple examples of mine:
alias startunity='sudo startunity -c /var/crouton/chroots'
alias edit-chroot='sudo edit-chroot -c /var/crouton/chroots'
alias enter-chroot='sudo enter-chroot -c /var/crouton/chroots'
I included sudo in mine which I'm sure is probably frowned upon...
-DennisL


Login on moved site is not working

Describe the bug

Logging in returns to the login page without messages
Password reset returns to the password reset page without messages

Steps To Reproduce
Steps to reproduce the first issue:

Go to login page
Do not click Remember me
Enter credentials and submit

Steps to reproduce the second issue:

Go to login page
Enter email address and submit

Expected behavior

Expected login and if not I expected an error message.
Expected password reset email

Screenshots
If applicable, add screenshots to help explain your problem.
Your Configuration (please complete the following information):

Exact BookStack Version (Found in settings): 0.20.0
PHP Version: 7.1.26
Hosting Method (Nginx/Apache/Docker): Apache

Additional context
The site was copied to a new server and had worked properly on the old server.
.env was updated for new DB and email server details.
I added a new admin account with php artisan bookstack:create-admin. The result was the same.
I changed app_debug to true. This is the result from login:
Views

7 templates were rendered
auth.login (resources/views/auth/login.blade.php) 2 blade
auth.forms.login.standard (resources/views/auth/forms/login/standard.blade.php) 8 blade
form.text (resources/views/form/text.blade.php) 10 blade
form.password (resources/views/form/password.blade.php) 10 blade
public (resources/views/public.blade.php) 8 blade
partials.custom-styles (resources/views/partials/custom-styles.blade.php) 8 blade
partials.notifications (resources/views/partials/notifications.blade.php) 8 blade

Queries

select * from users where system_name = 'public' limit 1 3.02ms /app/User.php:45
select * from settings where setting_key = 'registration-confirmation' limit 1 420μs
/app/Services/SettingService.php:229
select * from users where system_name = 'public' limit 1 330μs /app/User.php:45
select * from settings where setting_key = 'registration-enabled' limit 1 330μs /app/Services/SettingService.php:229

Hi @adminarf,
Sorry to hear you are facing issues.
Hard to know what's the issue here. This kind of thing can often occur if the browser does not save cookies for the site or if there's a change of domain during the login and post-login redirect.
Do you have the APP_URL option set in your .env file? Might be worth setting to force a domain. Also worth trying a different browser just to rule-out any overzealous cookie defences.

Due to the lack of response from the original issue author I will close this.
If this issue remains please feel free to open a new issue, referencing this one.


Remove redundant code from docker compose

I think these lines are not needed? Maybe Gabriel can confirm?

Tested the PR here, all works fine:
$ docker-compose ps
                 Name                              Command            State                           Ports
------------------------------------------------------------------------------------------------------------------------------------
kafka-connect-datagen_connect_1           /etc/confluent/docker/run   Up      <IP_ADDRESS>:8083->8083/tcp, 9092/tcp
kafka-connect-datagen_kafka_1             /etc/confluent/docker/run   Up      <IP_ADDRESS>:9092->9092/tcp
kafka-connect-datagen_schema-registry_1   /etc/confluent/docker/run   Up      <IP_ADDRESS>:8081->8081/tcp
kafka-connect-datagen_zookeeper_1         /etc/confluent/docker/run   Up      2181/tcp, 2888/tcp, <IP_ADDRESS>:32181->32181/tcp, 3888/tcp

$ curl -X POST -H "Content-Type: application/json" --data @config/connector_pageviews.config http://localhost:8083/connectors
{"name":"datagen-pageviews","config":{"connector.class":"io.confluent.kafka.connect.datagen.DatagenConnector","kafka.topic":"pageviews","quickstart":"pageviews","key.converter":"org.apache.kafka.connect.storage.StringConverter","value.converter":"org.apache.kafka.connect.json.JsonConverter","value.converter.schemas.enable":"false","producer.interceptor.classes":"io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor","max.interval":"100","iterations":"10000000","tasks.max":"1","name":"datagen-pageviews"},"tasks":[],"type":null}⏎                                                                               [~/g/kafka-connect-datagen]<EMAIL_ADDRESS>(nits|…)
$ curl -s "http://localhost:8083/connectors"| jq '.[]'| xargs -I{connector_name} curl -s "http://localhost:8083/connectors/"{connector_name}"/status"| jq -c -M '[.name,.connector.state,.tasks[].state]|join(":|:")'| column -s : -t| sed 's/\"//g'| sort
datagen-pageviews  |  RUNNING  |  RUNNING
[~/g/kafka-connect-datagen]<EMAIL_ADDRESS>(nits|…)
$ docker-compose exec connect kafka-console-consumer --topic pageviews --bootstrap-server kafka:29092  --property print.key=true --max-messages 5 --from-beginning
1       {"viewtime":1,"userid":"User_8","pageid":"Page_54"}
11      {"viewtime":11,"userid":"User_7","pageid":"Page_51"}
21      {"viewtime":21,"userid":"User_8","pageid":"Page_35"}
31      {"viewtime":31,"userid":"User_3","pageid":"Page_61"}
41      {"viewtime":41,"userid":"User_7","pageid":"Page_40"}
Processed a total of 5 messages

@rmoff : the alternative is to remove docker-compose.yml completely from the repo and just point users to https://github.com/confluentinc/cp-docker-images/blob/5.0.0-post/examples/cp-all-in-one/docker-compose.yml as an example of how to use it with docker-compose.yml.  The benefit of that approach is we don't have to maintain two copies.  Thoughts?

I actually favour retaining the docker-compose here, as it's more concise that the all-in-one (i.e. easier to understand for someone just looking at datagen), and more lightweight for spinning up to see datagen in action.
No harm in maybe pointing people to all-in-one as well with a note for them to see it for a full stack example?

@rmoff : I agree with your point.  Let's leave it here

@ybyzek just come across this - can you re-review please? I think I addressed all your requests so far.


Document Aerospike logs being unsupported on SLES

Description
Document Aerospike logs being unsupported on SLES
Related issue
http://b/254325217
http://b/239240173
How has this been tested?
N/A
Checklist:

Unit tests

[x] Unit tests do not apply.
[ ] Unit tests have been added/modified and passed for this PR.

Integration tests

[x] Integration tests do not apply.
[ ] Integration tests have been added/modified and passed for this PR.

Documentation

[ ] This PR introduces no user visible changes.
[x] This PR introduces user visible changes and the corresponding documentation change has been made.

Minor version bump

[x] This PR introduces no new features.
[ ] This PR introduces new features, and there is a separate PR to bump the minor version since the last release already.
[ ] This PR bumps the version.

Thanks -- PR comments have now been addressed.

@igorpeshansky @mtabasko do you need any other changes for this?

Not for me, Jeff! Sorry, forgot this was still out there.


Create captureSDK.mdx

spoke with @oatsandsugar and i'll take over this branch and get it ready

nm, going to kill this PR and start from scratch on a new branch from main with the latest changes. i'll port these changes over to there and resubmit.


Split test and rubocop tasks for Travis

As discussed with @elliotthilaire on #619

I wasn't suggesting we make the build green if it shouldn't be. Instead if the rubocop and tests fail, we can find out in a single build instead of two.

Thanks!


Uncaught ReferenceError: HeatMapOverlay is not defined

Hi,
I am trying to use this library but getting the above error. I have included both the .js files in my code:
require('../../node_modules/heatmap.js/heatmap.js');
require('../../node_modules/heatmap.js/plugins/leaflet-heatmap.js');
I am adding the leaflet library in my html.
I tried changing the call from var heatmapLayer = new HeatmapOverlay(cfg);
to var heatmapLayer = new HeatMapOverlay(cfg); to check for any typos.
Any idea why I am getting this error?

Were you ever able to fix this? I'm getting the same error, and I have included both .js files also. Cannot fix this for the life of me!

@StefanG96 nope,I tried many things but it didn't work. You can try leaflet-heat.js, it worked for me.

Im getting the same problem. And so far cant figure way.
Anyone got something, or maybe just change to leaflet-heat.js will make the work?

@augustobg have you tried installing the leaflet-heatmap plugin via npm? it makes sure it has the correct dependencies:
npm install  leaflet-heatmap

yes, and still getting the: Uncaught ReferenceError: HeatMapOverlay is not defined.
I will try using leaflet-heat.js, and see if works.
Thanks anyway :)

if anyone else is experiencing this issue please post a link to a codepen so I can have a closer look at it

I have the same problem. is there a solution to this yet?

I use leaflet.heat
Works pretty well for me, give it a try.

i'll try that, thanks

@miller-6227 I cannot fix this issue if you don't provide a URL where I could have a look at it. If leaflet.heat works for you (and you don't need dynamic data) that's great, but I'd appreciate if you could upload your attempt to get it to work somewhere where I can have a look at it

are there any examples of HeatmapOverlay working in angular2

Hello!
i install heatmap from npm
npm i leaflet-heatmap
and had same problem
HeatMapOverlay is not defined
I use Vue.js and for fix just use correct name in import.
import HeatmapOverlay from 'leaflet-heatmap/leaflet-heatmap.js
maybe it will be useful for someone

I made my own d.ts files and finally it seams to work. I used:
npm install heatmap.js
npm install leaflet-heatmap
my first d.ts file start with "declare module 'heatmap.js'" and export the functions/classes/interfaces of heatmap.js (basically https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/heatmap.js/index.d.ts but you stop at line 350)
my second d.ts file:
declare module 'leaflet-heatmap'
{
import * as Leaflet from "leaflet";
import * as h337 from "heatmap.js";
class HeatmapOverlay<
    V extends string,
    TLat extends string,
    TLng extends string
> extends Leaflet.Layer
{
    constructor(configuration: h337.HeatmapOverlayConfiguration<V, TLat, TLng>);
    setData(data: h337.HeatmapData<h337.DataPoint<V, TLat, TLng>>): void;
    addData(data: h337.DataPoint<V, TLat, TLng> | ReadonlyArray<h337.DataPoint<V, TLat, TLng>>): void;
    onAdd(map: Leaflet.Map): any;
    onRemove(map: Leaflet.Map): any;
}

export default HeatmapOverlay;

}
At last in my application I write:
import * as h337 from 'heatmap.js';
import HeatmapOverlay from 'leaflet-heatmap';

After hours of searching,
Disactivate your adBlock -_-


Make use of the abc module for base classes

What is wrong?
There are a number of base classes in both the evm and trinity codebases which implement methods which must be implemented when subclassed.
Python provides mechanisms for this pattern which enforce these requirements in the abc module.
How can it be fixed
Across the various base classes, use the abc.abstractmethod API on any of the methods which raise NotImplementedError.

Coming https://github.com/ethereum/py-evm/pull/467


Documentation link is broken

https://github.com/ARMmbed/mbed-cli/blob/master/README.md is not working

Internal Jira reference: https://jira.arm.com/browse/IOTBTOOL-533

Where is this one coming from (documentation url) ? I can see it uses .md extension, instead of .rst

Just open the .rst file and there's a link (see the original bug report) that doesn't work.
https://github.com/ARMmbed/mbed-cli/blob/master/README.rst contains a link to https://github.com/ARMmbed/mbed-cli/blob/master/README.md
The link is under the heading "Get Started" and the link text is "read the full documentation on GitHub". I'm sure that's not supposed to be a recursive link to itself. :)

fixed in https://github.com/ARMmbed/mbed-cli/pull/950


use six library for isinstance

fix #64

@quintonparker can you confirm this fixed the issue

@ashtul works on my machine ™
😄


c++ abi and build order

I think building LLVM and Clang should be required, not optional, and it should happen first. The built LLVM/Clang should then be used to build all other things. The key is to get the C++ ABI versioning tag right, e.g. when building a llvm 3.6-based toolchain on ubuntu 16.04.

This happens automatically when using the new Travis script:
`
Install dependencies
./travis.sh linux initialize
Build the 'libraries' folder
./travis.sh linux build
`


"combine" doesn't create non-existent destination directories while  "copy" does

The error after "npm run dev" is:
fs.js:558
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open

I'll check with the plugin author to see if he can add an option to force-create the folder if it doesn't exist.

This is fixed in 8870ff16710c085e6fa3b1f98d1fba435efe0258


Update user sign-in button formatting on login page

Old Screens:

This PR wants to make the action buttons more consistent and visibly styled for the user

New Screens:


New grid

New grid is coming. It is actually here.
Previous grid was based on pixel units for columns and margins for
adding gutter. The new proposed grid had % units for columns and padding
used for gutter.
Making both systems somehow meet was hard, and this is the simplest
solution I could came with. In the way, I have tried a few and, while
this one is not perfect (it is not, believe me).
The current solution is a bit nasty. What it does is mixing both
measures in a special way. While column width is %-ish, gutter is fixed.
Therefore, a column width is (100% - $total-gutter-size) / $num-columns. A multi-column width, contains a percent based size
(the column width) and a pixel-based width (the gutter space).
Oh, god, I feel naughty writing that.
Why are the formulas so complicated?
It might be thought that the formulas could be easily simplified (and
maybe they can!) but the thing is that, when mixing units,
simplifications might not work as expected. Counter-intuitive but it
does so :$
Where did you get the breakpoints and mixins?
Twitter Bootstrap v4. While I don't like bootstrap for the classes they
use and a few other things, the use they do for mixins is really nice
(IMHO). They use them for asserts (they check that the breakpoints is
a valid map, for example), for adding media queries (I took
media-breakpoint-up, but also have the -down and -between version
that let's user abstract away from media queries (not need to use
variables in the media-queries, but abstracts away all the code).
So... this PR is not fully complete?
Nope, it lacks some extra mixins for media-queries (easily find in
Bootstrap v4) and fixing a couple of things...
Does this breaks anything?
Yes, there is a couple of things broken, mainly, the horizontal slack
form in projects section.
Other sections are slightly broken but mainly because previous version
contained two different approaches to get the same result in different
parts.
This will be fixed next.

Shouldn't we add also a mixin with max-width instead of min-width? Since we developed the desktop version first is gonna be easier to do it with max-width than do it mobile first now.


Removes inline specifiers for functions used across compilation units; performs both debug and release builds through CI.

Issue #, if available:
#106
Description of changes:

Removes unnecessary 'inline' specifiers on test utilities that were behaving differently depending on the build configuration.
Adds Travis and AppVeyor configuration to perform both debug and release builds.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

looks good to me!


3D bbox projection to 2D

Hi,
I am seeing that (as expected) the projected 3D bounding boxes on the image do not fit tightly.
This may be due to how the transformed 8pt bbox is downsampled into a 4pt bbox via this mechanism
    # Compute the 2D bounding box and draw a rectangle     x1 = np.amin(points[...,0])     x2 = np.amax(points[...,0])     y1 = np.amin(points[...,1])     y2 = np.amax(points[...,1])
Is there a better way to select these corners to get a tighter fitting bbox?
(Red -> Projected labels)
(Blue -> Native labels)

I have the similar question. As I learned, other public datasets only have 3D bounding boxes annotation, otherwise WAYMO dataset has both  3D and 2D bounding boxes. The 2D bounding boxes fit tightly, but the 3D bounding boxes can't. So I guess that 2D  and 3D bounding boxes are annotated separately. Is there any suggestion to combine  2D bounding boxes and 3D bounding boxes, to make 3D bounding boxes fit better?

@peisun1115 Please can you explain how to find connection between 2D bounding box and 3D bounding box?

Maybe this is the solution: https://github.com/waymo-research/waymo-open-dataset/issues/414


Caused by: java.net.BindException: Cannot assign requested address

hey everyone
i want to create remove server on my phone to can access it
from anywhere
so
when i try local host everything work well
but when try to connect to my public ip
this error happened
 java.lang.RuntimeException: java.lang.reflect.InvocationTargetException         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1453)      Caused by: java.lang.reflect.InvocationTargetException         at java.lang.reflect.Method.invoke(Native Method)         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1565)         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1453)       Caused by: java.net.BindException: Cannot assign requested address         at java.net.PlainSocketImpl.socketBind(Native Method)         at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:368)         at java.net.ServerSocket.bind(ServerSocket.java:377)         at java.net.ServerSocket.bind(ServerSocket.java:331)         at fi.iki.elonen.NanoHTTPD$ServerRunnable.run(NanoHTTPD.java:1761)         at java.lang.Thread.run(Thread.java:762)
and that is my Server Class
class AndroidWebServer : NanoHTTPD{
    constructor(  port:Int):super(port){
    }
    constructor( hostName:String, port: Int) : super(hostName,port){

    }
    override fun serve(session: IHTTPSession): Response? {

        val uri = session.uri

        if (uri == "/hello") {
            val response = """

    <title>Android Server</title>

      Hello Welcome to android server

      here is basic test of android server

            """.trimIndent()
            return newFixedLengthResponse(response)
        }
        return null
    }

}

and that is Main Activity
class MainActivity : AppCompatActivity() {
   override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        getPublicIP()
        val server=AndroidWebServer("<IP_ADDRESS>",8080)

        serverController(server)

    }

    private fun serverController(server: AndroidWebServer) {
        btnStop.isEnabled = false
        buttonStart.setOnClickListener {

            server.start()
            initIPAddress()

            buttonStart.isEnabled = false
            btnStop.isEnabled = true
        }
        btnStop.setOnClickListener {
            server.stop()

            buttonStart.isEnabled = true
            btnStop.isEnabled = false
        }
    }

    @SuppressLint("SetTextI18n")
    private fun initIPAddress() {
        val wm = applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager
        val ip = Formatter.formatIpAddress(wm.connectionInfo.ipAddress)
        txtIpAddress.text = "Server running at: $ip: "
        Log.i("TAG", "onCreate: $ip")
    }

    fun getPublicIP() {
        thread {
            val doc = Jsoup.connect("http://www.checkip.org").get()
            doc.getElementById("yourip").select("h1").first().select("span").text()
            Log.i("TAG",doc.text())
        }

    }
}

```so i can't understand this error
and need help to solve it or to achieve
and thanks for all

Your phone is firewalled and doesn't have a public IP.

Hey @stefan-reich
thanks for reply
but how to get public ip to phone and pass firewalled
how can i achieve my purpose

I don't think you can, not directly.
You can use services like ngrok.io to serve web pages from your phone.

You can't do it directly. You would have to have a separate server in between to proxy the traffic to your phone.

Oh wait, I think ngrok has no app. http://serveo.net/ seems to have an Android app.

@stefan-reich @NoahAndrews
thanks for your replies
but about production app
i still need to depend on Termux or BusyBox
Are there other ways to do that?

I can probably offer your a service. Please contact me (
<EMAIL_ADDRESS>or join my Discord (
https://discordapp.com/invite/SEAjPqk).
I will delete this message here soonishly.
Greetings,
Stefan
On Fri, 2 Aug 2019 at 20:40, Ismail Mohamed<EMAIL_ADDRESS>wrote:

@stefan-reich https://github.com/stefan-reich @NoahAndrews
https://github.com/NoahAndrews
thanks for your replies
but about production app
i still need to depend on Termux or BusyBox
Are there other ways to do that?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NanoHttpd/nanohttpd/issues/551?email_source=notifications&email_token=ABCPUQ2DKJGNHPOHCBNLJUDQCR5TXA5CNFSM4IFHFW42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3ORGDA#issuecomment-517804812,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABCPUQ7QL4OIHHWFFIH5N4TQCR5TXANCNFSM4IFHFW4Q
.

--
Stefan Reich
BotCompany.de // Java-based operating systems

I'll contact you


BigDipper for LikeChain

Mainly changed color and wordings.
Cannot point to new branch in PR, so the target branch is set to master.
Please make a likechain branch and modify the target.

tested.


What's the best way to implement authentication?

I want to add some very, very simple authentication, perhaps with a session token in a cookie, basically.
For that I guess I'd have the server respond with a Set-Cookie header to the correct login form request, and then I'd inspect the Cookie header for every subsequent request to see if the user is "logged in".
This should really be a very basic """security""" feature (note the many quotes), and doesn't need to protect anything critical.
How would I go about doing this? It looks to me like I may have to create custom request handlers that impl RequestHandler to get access to request headers. That's a lot more effort than just saying get(some_function) and post(some_other_function)... Thanks in advance :slightly_smiling_face:

Create a security token which implements picoserve::extract::FromRequestParts, and can verify the validity of the request and only return successfully if the request is authenticated correctly. from_request_parts has access to the State, so it can check against for example a list of currently logged in users, and the headers via picoserve::request::RequestParts.
For bonus security, have this token inside a module and have private internals, and have the only way to construct the token to be FromRequestParts, and have your authorized commands take in an instance on this security token as an argument. Thus you can use the type system to prove that authorized commands cannot be invoked from an unauthorized request.

Oh neat! Thanks a lot, that seems to be exactly what I need.
For anyone who finds this, here's a rough outline of the solution as code:
// the token to be extracted from the header, for my use case it's fine to be an empty struct
struct Token;

impl<'r, State> FromRequestParts<'r, State> for Token {
    type Rejection = Redirect;

    async fn from_request_parts(
        _state: &'r State,
        request_parts: &picoserve::request::RequestParts<'r>,
    ) -> Result<Self, Self::Rejection> {
        let cookie = request_parts
            .headers()
            .get("Cookie")
            .ok_or(Redirect::to("/login"))?;

        todo!("check that the cookie value is a valid session token")
    }
}

async fn root(_token: Token) -> impl IntoResponse {
    // if we get here, the user is logged in
    Response::ok(whatever)
}

And then what's neat is that you do not need to adapt your Router creation, even though the signature if a route handler changed from async fn root() to async fn root(Token):
let router = Router::new().route("/", get(root));

Thanks again! I'll close this now.


Update to non-deprecated versions of Azure packages

Couple things in this PR:

Upgrading to non-deprecated versions of @azure/arm-resources-profile-2020-09-01-hybrid, @azure/arm-resources-subscriptions, @azure/arm-storage-profile-2020-09-01-hybrid
Shifting @azure/arm-resources and @azure/arm-storage to be dev dependencies (did not need to be regular dependencies)
Changing a few imports to be import types

What's the status on this? Are we still trying to have the partner team test the changes for us?

What's the status on this? Are we still trying to have the partner team test the changes for us?

That would be good, since I have no clue how to test it...


[Help] How to ensure the application is running when deployed using docker in local system

I have followed the steps specified here https://docs.rxresu.me/deployment/#docker.
After docker pull,  I executed docker run amruthpillai/reactive-resume .
I can find the application  is up when examined docker ps.
How to access the web application locally . ?
Also, please provide steps on how  to run in local system for deployment.
Steps I have followed:

docker pull amruthpillai/reactive-resume
Run using the command docker run -p 80:8000 amruthpillai/reactive-resume:latest using port forwaring.

Accessing from browser:
With port 80 and With port 8000: I made below calls.

Tried for accessing localhost.com
http://<IP_ADDRESS>:8000/50x.html  (after checking nginx.conf.d)
http://localhost:8000/50x.html

Closing this issue as Reactive Resume has been bumped up to v2.


Request: Re-enable hourly builds

Good afternoon.
I just wanted to ask if luma hourly builds are going to be re-enabled in next lumaupdate version.
Thanks for all :)

No. Too many "bricks" have been reported using the hourlies and Luma Updater. If you want them re-enabled, the source code is public. Anyone can fork it and re-enable it themselves.
Not trying to be rude, but I'm tired of seeing the "brick" reports.

First thanks for answering :)
I don't think that answer is rude at all and I understand your point of view too. A lot of people always thinks there are "bricks" when 99,99% mistakes are because of them...I know that feeling to dissable hourlies.... Thanks again for your answer, and with your permission (I know the licence of this software but I always like to ask the dev. first :P) I'll re-enabled them in local repo just for me (I really like to be up-to-date :P)
Greetings! :)

Yeah, go right ahead. I don't mind.  For the users who know what they're doing, they can use the hourlies all they want. For the sake of my sanity and the noobs, it won't be re-enabled officially.

I totally agree with you :)
Thanks for your time!


Remove experimental notice from DLQ related fields

DLQ is now GA, so all experimental notices should be removed. This should largely be picked up by regenerating the underlying client, but please do a pass through in case experimental notices were added anywhere else.

Removed in PR #185


ViroText flickers when far from user

We noticed that when a ViroText (within a ViroFlexView, in a ViroARScene) is beyond 200 (meter) from the user, the text starts flickering. And, the flickering gets worse as the distance increases. We tried various combinations of ViroFlexView scale and sizes (and font size), but we could not get rid of the flickering. When the distance was below 200, it was fine. Any idea what's going on, and how to work around this? Thanks.

Hi @domvon, we've reproduced this issue with ViroFlexView's that have a background. This seems to be an issue known as "z-fighting" where the renderer at certain distances is fighting to render either the background or text at the specified z value.
We'll file a bug to fix this.
To mitigate this for now, you can use the getTransformAsync method to get the position of the flexview every so often(every second or so), subtract that from the current camera position, and take the square root to get the distance. If the distance is greater X you can hide the rendering of the text, and if it's closer than X, render the flexview with the text.  X would be the distance the text begins to flicker.
Note: There is an open bug on getTransformAsync on Android where it doesn't work. But this will be fixed in the next release.
Let me know if the above mitigation makes sense or if you have any more questions. Thanks!

Thanks, very helpful. Based on this info, and for  anyone intersted, a workaround for this is to split the background (color or image) and text as two separate nodes, each with their own flexview, and place the text node slightly in front of the background node (poportional to the distance), and avoiding the “z-fighting” and flickering completely. Hope this helps.

Hey team. This issue seems to be worse now with 2.5.1. The text starts to flicker when the distance is 50 meters or more (200 meters or more, earlier). Any chance this can be fixed/improved in an upcoming release? Thanks for all your great work!

This issue has been fixed for our next release, which should be available in the next few days.

Great, thanks guys!

Hi @domvon this has been fixed in the latest release, ViroReact 2.6.0
Release notes and upgrade instructions here -> https://docs.viromedia.com/docs/releases
Closing this issue, but please re-open if you are still encountering issues after upgrading.


Check-list for corner cases in testing.

This is a cursory pass at documenting corner cases for integration tests, for newly added operations. Currently a work in progress.

Can we just list out all the types supported by us instead of referring to the Spark doc? That will make this a self-contained doc and we can add types as we support more

If it's a checklist we should probably check Spark (if there's a new type we may learn that way). I doubt that will happen often, but it seems appropriate to point developers to the Spark docs as that's where the source of truth in this scenario.

Can we just list out all the types supported by us instead of referring to the Spark doc? That will make this a self-contained doc and we can add types as we support more

If it's a checklist we should probably check Spark (if there's a new type we may learn that way). I doubt that will happen often, but it seems appropriate to point developers to the Spark docs as that's where the source of truth in this scenario.

Makes sense to include the spark doc link for reference. My comment is toward not spelling out each and every type that we support in this doc and instead saying etc which you already pointed out for Decimals, I am going an extra step and saying just type them all out.

build

build

Codecov Report

Merging #2721 (5a379fb) into branch-21.08 (a7b4526) will increase coverage by 0.32%.
The diff coverage is 38.55%.

:exclamation: Current head 5a379fb differs from pull request most recent head e03048c. Consider uploading reports for the commit e03048c to get more accurate results

@@                Coverage Diff                 @@
##             branch-21.08    #2721      +/-   ##
==================================================
+ Coverage           44.11%   44.44%   +0.32%
- Complexity           2012     2035      +23
==================================================
  Files                 266      270       +4
  Lines               28067    28248     +181
  Branches             4530     4559      +29
==================================================
+ Hits                12383    12554     +171
- Misses              13778    13783       +5
- Partials             1906     1911       +5

Impacted Files
Coverage Δ

...ia/spark/rapids/shims/spark304/Spark304Shims.scala
0.00% <0.00%> (ø)

...a/spark/rapids/spark304/RapidsShuffleManager.scala
0.00% <0.00%> (ø)

.../shims/spark311/ParquetCachedBatchSerializer.scala
0.00% <0.00%> (ø)

...ia/spark/rapids/shims/spark311/Spark311Shims.scala
0.00% <0.00%> (ø)

...cala/com/nvidia/spark/rapids/shuffle/ucx/UCX.scala
0.00% <0.00%> (ø)

...spark/rapids/shuffle/ucx/UCXShuffleTransport.scala
0.00% <0.00%> (ø)

...idia/spark/rapids/shuffle/ucx/UCXTransaction.scala
0.00% <0.00%> (ø)

.../com/nvidia/spark/rapids/GpuWindowExpression.scala
42.91% <ø> (+0.20%)
:arrow_up:

...dia/spark/rapids/shuffle/RapidsShuffleServer.scala
0.00% <0.00%> (ø)

.../apache/spark/sql/rapids/RapidsCachingReader.scala
0.00% <0.00%> (ø)

... and 39 more

Continue to review full report at Codecov.

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

Any objection to this being checked in?

build

build

Merged. Thank you for the reviews, all!


MudSelect and SelectedValues HashSet with Comparer

Bug type
Component
Component name
MudSelect
What happened?
When using the MudSelect component with HashSets with a custom Comparer, the comparer will not be used in the internal MudSelect _selectedValues HashSet.
This breaks sysnchronization of check marks in the popover list.
Expected behavior
The popover check marks and selected values should synchronize properly with the SelectedValues HashSet if that is using a custom comparer.
Reproduction link
https://try.mudblazor.com/snippet/GOcFaNmedLtnLmDA
Reproduction steps

Select some items
Click the button "SET SELECTION"
Observe, that the popover list is not synchronized

Relevant log output
No response
Version (bug)
5.1.4
Version (working)
No response
What browsers are you seeing the problem on?
Chrome
On what operating system are you experiencing the issue?
Windows
Pull Request

[X] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

A PR to fix this issue is provided in #2825.


[1.12] Digital Miner doesn't break Geolosys ores

Please use the search functionality before reporting an issue. Also take a look at the closed issues!
Issue description:
In creative, putting in a geolosys ore in the digital miner simply makes the miner count the ores, before the saying there's 0 to mine after the first one.
Steps to reproduce:

Put down digital miner and give energy
Put any geolosys ore block in the ItemStack filter, making sure it's under the miner.
Press start, observe it count and then go to 0

Version (make sure you are on the latest version before reporting):
Forge: 1.12.2-forge1.12.2-<IP_ADDRESS>5
Mekanism: Mekanism-1.12.2-<IP_ADDRESS>7
Other relevant version: Geolosys-1.12.x-1.8.3

Same issue, other Ore:
Cannot break LapisLazuli (neither with silktouch nor without). It's counting, wants to start, then jumps to 0 and idles.
Forge: <IP_ADDRESS>6
Mekanism: 1.12.2-<IP_ADDRESS>8
no other mods.

If it goes down to zero, you have some form of block protection active that prevents the FakePlayer from breaking blocks.

@thiakil I've got the exact same issue as @pflonk, the miner does mine everything except for Lapis. It doesn't seem like the cause is block protection.

@thiakil
My pack is rather ripped, so I can't really imagine anything there preventing a FakePlayer breaking them. It also can break the quartz blocks from Geolosys, just not the others..

Try what I said in this comment, and you will find out if it is chunk protection of some kind.
https://github.com/aidancbrady/Mekanism/issues/4820#issuecomment-346231553

Where do I find this config option? I don't have it in my config.

You need to start the game with that special build, then it will be there.

@thiakil Alright so I've ran the game with that build now, with the logDigitalMinerBlockBreakDenied config option set to true, however when looking at the log around the time I tested this I don't see anything being logged. I've attached the full log here: latest.log
I ran the Digital Miner near the bottom of the log file, between these two lines:
[23:35:49] [Server thread/INFO]: [Svenskunganka: Set own game mode to Creative Mode]
<--- Ran the miner here for Lapis only.
[23:36:32] [Server thread/INFO]: Saving and pausing game...

Thanks, I will take a more detailed look.

How exactly did you get an itemstack for the filter btw?

Got myself into creative and got the lapis ore (not the single lapis item) and placed it into the itemstack filter. I've also tried with oreLapis to no avail. The miner does show a number to mine for a few seconds until it turns off.

ok, so the lapis thing is standard minecraft lapis?

Yes, vanilla Lapis

Both issues fixed in dev now

Nice! Thank you for taking time fixing this, @thiakil!
One last question, is there any way to get a build of the latest dev?

Yeah compiling from source is always an option ;)

I've verified that the change you made @thiakil works now. Once again, thank you (and Aidan as well as all the other contributors) for all your work on this mod, it is one of my favorites!
Also, IC2's Maven was down over at maven.ic2.player.to so I had to change it to curseforge's Maven for it to build properly:
diff --git a/build.gradle b/build.gradle
index 7d10a01..b66e424 100644
--- a/build.gradle
+++ b/build.gradle
@@ -76,7 +76,7 @@ repositories {
     }
     maven {
         name 'ic2'
-        url 'http://maven.ic2.player.to'
+        url 'https://minecraft.curseforge.com/api/maven/'
     }
     maven {
         name 'BlameJared - Crafttweaker'
@@ -127,7 +127,8 @@ dependencies {
     compileOnly "com.mod-buildcraft:buildcraft-api:${config.buildcraft_version}"
     compileOnly "team.chisel.ctm:CTM:MC1.12-${config.ctm_version}:api"
     runtime "team.chisel.ctm:CTM:MC1.12-${config.ctm_version}"
-    compileOnly "net.industrial-craft:industrialcraft-2:${config.ic2_version}:api"
+    compileOnly "industrial-craft:industrialcraft-2:release:ex112"
+    //compileOnly "net.industrial-craft:industrialcraft-2:${config.ic2_version}:api"
     compileOnly ("CraftTweaker2:CraftTweaker2-API:${config.crafttweaker_version}") {
         exclude module: "asm-debug-all"
     }
@@ -328,4 +329,4 @@ if (System.getenv("CURSEFORGE_KEY") != null) {
             addGameVersion '1.12.2'
         }
     }
-}
\ No newline at end of file
+}

Added it in case anyone else comes by and runs into the same issue.

Any chance we can please get a version of the mod with this fixed early ? I really need my lapis n.n

@RenaTheHyena I've attached my build of the dev version which you can use if you want. Worked without issue for me in the Direwolf 1.12 pack. Note that this build is strictly for 1.12 and not any other version of Minecraft.
Mekanism.zip

@Svenskunganka Please don't do that. As much as I like innocent until proven guilty, we cannot condone unofficial builds like that.
@RenaTheHyena you can use http://maven.thiakil.com/mekanism/Mekanism/1.12.2-<IP_ADDRESS>9-thiakil/Mekanism-1.12.2-<IP_ADDRESS>9-thiakil.jar

Apologies, didn't know. Just wanted to be of help to the guy. Thanks for sharing your build, though!


Bicep VS Code extension crashing

Does this occur consistently?
Yes
Repro steps:

Launch VS Code
Open bicep file

Action: bicep.lsp-error
Error type: Error
Error Message: Connection closed
Version: 0.1.37-alpha.gf88c6d95ad
OS: win32
OS Release: 10.0.19041
Product: Visual Studio Code
Product Version: 1.50.0
Language: en

Call Stack
client.js:108:23client.js:108:23
Object.callWithTelemetryAndErrorHandlingSync vscode-azureextensionui/callWithTelemetryAndErrorHandling.js:53:16
Object.closed client.js:105:39
LanguageClient.handleConnectionClosed vscode-languageclient/client.js:2320:55
LanguageClient.handleConnectionClosed vscode-languageclient/main.js:146:15
closeHandler vscode-languageclient/client.js:2299:18
CallbackList.invoke vscode-jsonrpc/events.js:54:39
Emitter.fire vscode-jsonrpc/events.js:116:36
closeHandler vscode-jsonrpc/connection.js:255:26
CallbackList.invoke vscode-jsonrpc/events.js:54:39
Emitter.fire vscode-jsonrpc/events.js:116:36
StreamMessageReader.fireClose vscode-jsonrpc/messageReader.js:39:27
Socket.<anonymous> vscode-jsonrpc/messageReader.js:124:42
Socket.emit events.js:228:7
Pipe.<anonymous> net.js:664:12
Pipe.<anonymous> async-listener/glue.js:188:31

Thanks for reporting this @kuhlman-labs!
This is very odd - unfortunately the stack trace doesn't reveal anything about why the process closed. Do you see anything of interest in the VSCode output for Bicep when this happens?
Here's what I see for example if I force-kill the language server process:

Finally, would you mind trying a more recent build of the Bicep VSCode extension and seeing if this still repros? The current latest build from the master branch is available here: https://github.com/Azure/bicep/actions/runs/297578556

@kuhlman-labs does it only happen with a specific .bicep file or with all of them? (Does it happen with an empty file or a file containing only var foo = 42, for example?)
If it is related to a specific file, is it possible for you to share the file with us?

@majastrz It happens opening any Bicep file, basically whenever the language server attempts to start. This started happening after I updated VSCode.
@anthony-c-martin

Full output:
2020-10-12T15:46:40.214Z info: Current log level: debug. 2020-10-12T15:46:40.215Z info: Launching Bicep language service... 2020-10-12T15:46:48.817Z debug: Found dotnet command at 'c:\Users\brett\AppData\Roaming\Code\User\globalStorage\ms-dotnettools.vscode-dotnet-runtime\.dotnet\3.1.8\dotnet.exe'. 2020-10-12T15:46:48.817Z debug: Found language server at 'c:\Users\brett\.vscode\extensions\azure.vscode-bicep-0.1.37-alpha.gf88c6d95ad\bicepLanguageServer\Bicep.LangServer.dll'. 2020-10-12T15:46:48.820Z info: Bicep language service started. 2020-10-12T15:46:50.497Z info: Bicep language service ready. Error: Connection closed [Info  - 11:46:50 AM] Connection to server got closed. Server will restart. [Error - 11:46:50 AM] Request textDocument/documentSymbol failed. Error: Connection got disposed. 	at Object.dispose (c:\Users\brett\.vscode\extensions\azure.vscode-bicep-0.1.37-alpha.gf88c6d95ad\node_modules\vscode-jsonrpc\lib\common\connection.js:1009:27) 	at Object.dispose (c:\Users\brett\.vscode\extensions\azure.vscode-bicep-0.1.37-alpha.gf88c6d95ad\node_modules\vscode-languageclient\lib\common\client.js:71:35) 	at LanguageClient.handleConnectionClosed (c:\Users\brett\.vscode\extensions\azure.vscode-bicep-0.1.37-alpha.gf88c6d95ad\node_modules\vscode-languageclient\lib\common\client.js:2312:42) 	at LanguageClient.handleConnectionClosed (c:\Users\brett\.vscode\extensions\azure.vscode-bicep-0.1.37-alpha.gf88c6d95ad\node_modules\vscode-languageclient\lib\node\main.js:146:15) 	at closeHandler (c:\Users\brett\.vscode\extensions\azure.vscode-bicep-0.1.37-alpha.gf88c6d95ad\node_modules\vscode-languageclient\lib\common\client.js:2299:18) 	at CallbackList.invoke (c:\Users\brett\.vscode\extensions\azure.vscode-bicep-0.1.37-alpha.gf88c6d95ad\node_modules\vscode-jsonrpc\lib\common\events.js:54:39) 	at Emitter.fire (c:\Users\brett\.vscode\extensions\azure.vscode-bicep-0.1.37-alpha.gf88c6d95ad\node_modules\vscode-jsonrpc\lib\common\events.js:116:36) 	at closeHandler (c:\Users\brett\.vscode\extensions\azure.vscode-bicep-0.1.37-alpha.gf88c6d95ad\node_modules\vscode-jsonrpc\lib\common\connection.js:255:26) 	at CallbackList.invoke (c:\Users\brett\.vscode\extensions\azure.vscode-bicep-0.1.37-alpha.gf88c6d95ad\node_modules\vscode-jsonrpc\lib\common\events.js:54:39) 	at Emitter.fire (c:\Users\brett\.vscode\extensions\azure.vscode-bicep-0.1.37-alpha.gf88c6d95ad\node_modules\vscode-jsonrpc\lib\common\events.js:116:36) 	at StreamMessageReader.fireClose (c:\Users\brett\.vscode\extensions\azure.vscode-bicep-0.1.37-alpha.gf88c6d95ad\node_modules\vscode-jsonrpc\lib\common\messageReader.js:39:27) 	at Socket.<anonymous> (c:\Users\brett\.vscode\extensions\azure.vscode-bicep-0.1.37-alpha.gf88c6d95ad\node_modules\vscode-jsonrpc\lib\common\messageReader.js:124:42) 	at Socket.emit (events.js:228:7) 	at Pipe.<anonymous> (net.js:664:12) 	at Pipe.<anonymous> (c:\Users\brett\.vscode\extensions\ms-azuretools.vscode-azureterraform-0.3.1\node_modules\async-listener\glue.js:188:31)

@majastrz @anthony-c-martin
After some further testing I found the issue to be resolved when I removed the Azure Terraform VS Code Extension.

@majastrz @anthony-c-martin
After some further testing I found the issue to be resolved when I removed the Azure Terraform VS Code Extension.

Thank you very much for investigating and figuring this one out! I can't think of anything particularly unusual we're doing in this extension and I see there's a pretty similar issue already raised against the AzureTerraform extension - I've raised https://github.com/Azure/vscode-azureterraform/issues/222 to track this.

This is now fixed with https://github.com/Azure/vscode-azureterraform/pull/223. Please make sure you are using Azure Terraform v0.3.2 or later.


Deadman Notification if exposure check was not successful for 36h (EXPOSUREAPP-2332)

Description
Schedule a notification in 36 hours after successful risk calculation.
This is "last try" notification: if after this notification application would not be able to calculate risk successfully, then it would not show this notification anymore.
Steps to reproduce
Risk calculation should fail and never succeed in 36 hours (either in foreground or background).

Wait until risk calculation finished
Go to settings -> Date & time
Add two days to current date
Deadman notification should appear

Remember to get back to your time line! 🕓  🔙   🚙💨

It worked on a OnePlus, had to wait a few minutes and prio background was turned on (on OnePlus it's called "don't optimise"). So it's unreliable as expected...

Tested it on day one, worked like expected, but right now it's not working on my device.

I think that's to the fact that we removed the popup to activate prio background. And as I tested it on day one it was likely activated.


Strange behavior in horserace regarding suffix / labels outside circle

🤔

This is so weird! Have made a separate issue for this, as I think it's not template specific https://github.com/kiln/flourish/issues/774

I think we've concluded this is Flourish issue and nothing to do with the template so let's close it here.


Use UW-UI-Toolkit in /web, including Bootstrap

Not sure we need Bootstrap in Bower, now that UW UI Toolkit includes it. But leaving there for now.

:+1: