UB: call to function through pointer to incorrect function type

With:

libcon4m https://github.com/crashappsec/libcon4m/commit/14604adf6ca68c75a08360129d71beb63571c1d1
x86_64
Linux 6.9.6
clang 17.0.6

Since Clang 17, the -fsanitize=function check is no longer only for C++, and the check is enabled by default by -fsanitize=undefined. See the list of available UBSan checks and the discussion of the relevant LLVM patch, which contains:

The rationale for reporting errors is C11 <IP_ADDRESS>p9:

If the function is defined with a type that is not compatible with the type (of the expression) pointed to by the expression that denotes the called function, the behavior is undefined.

The errors of this kind that are produced when running the tests, sorted by file name:
../src/con4m/box.c:46:12: runtime error: call to function i64_fmt through pointer to incorrect function type 'struct c4m_str_t *(*)(void *, struct c4m_fmt_spec_t *)'
libcon4m/debug/../src/con4m/numbers.c:698: note: i64_fmt defined here
    #0 0x59a156028cf3 in box_format libcon4m/debug/../src/con4m/box.c:46:12
    #1 0x59a156008212 in lookup_arg_strings libcon4m/debug/../src/con4m/format.c:387:29
    #2 0x59a156007072 in c4m_str_vformat libcon4m/debug/../src/con4m/format.c:563:32
    #3 0x59a156009b5d in c4m_base_format libcon4m/debug/../src/con4m/format.c:581:12
    #4 0x59a15600a112 in _c4m_cstr_format libcon4m/debug/../src/con4m/format.c:606:15
    #5 0x59a156064840 in format_location libcon4m/debug/../src/con4m/compiler/errors.c:1224:12
    #6 0x59a156061348 in c4m_format_module_errors libcon4m/debug/../src/con4m/compiler/errors.c:1253:31
    #7 0x59a156060ee4 in c4m_format_errors libcon4m/debug/../src/con4m/compiler/errors.c:1283:13
    #8 0x59a155ece5bb in test_compiler libcon4m/debug/../src/tests/test.c:429:30
    #9 0x59a155ed1231 in main libcon4m/debug/../src/tests/test.c:515:18

../src/con4m/format.c:387:29: runtime error: call to function c4m_string_format through pointer to incorrect function type 'struct c4m_str_t *(*)(void *, struct c4m_fmt_spec_t *)'
libcon4m/debug/../src/con4m/string.c:1360: note: c4m_string_format defined here
    #0 0x59a1560081b9 in lookup_arg_strings libcon4m/debug/../src/con4m/format.c:387:29
    #1 0x59a156007072 in c4m_str_vformat libcon4m/debug/../src/con4m/format.c:563:32
    #2 0x59a156009b5d in c4m_base_format libcon4m/debug/../src/con4m/format.c:581:12
    #3 0x59a15600a112 in _c4m_cstr_format libcon4m/debug/../src/con4m/format.c:606:15
    #4 0x59a1560184ba in internal_normalize_and_join libcon4m/debug/../src/con4m/path.c:108:22
    #5 0x59a156018d4e in c4m_resolve_path libcon4m/debug/../src/con4m/path.c:175:16
    #6 0x59a155ecd635 in build_file_list libcon4m/debug/../src/tests/test.c:223:16
    #7 0x59a155ed0ed7 in main libcon4m/debug/../src/tests/test.c:501:40

../src/con4m/marshal.c:267:5: runtime error: call to function c4m_string_marshal through pointer to incorrect function type 'void (*)(void *, c4m_stream_t *, struct hatrack_dict_t *, long *)'
libcon4m/debug/../src/con4m/string.c:1171: note: c4m_string_marshal defined here
    #0 0x59a155f5bf1b in c4m_sub_marshal libcon4m/debug/../src/con4m/marshal.c:267:5
    #1 0x59a1560d55e7 in c4m_layout_string_const libcon4m/debug/../src/con4m/compiler/memory_layout.c:48:9
    #2 0x59a1560e0cfd in gen_label libcon4m/debug/../src/con4m/compiler/codegen.c:453:22
    #3 0x59a1560e3c18 in gen_module libcon4m/debug/../src/con4m/compiler/codegen.c:782:5
    #4 0x59a1560df710 in gen_one_node libcon4m/debug/../src/con4m/compiler/codegen.c:1805:9
    #5 0x59a1560ddf59 in gen_module_code libcon4m/debug/../src/con4m/compiler/codegen.c:2110:5
    #6 0x59a1560db383 in c4m_internal_codegen libcon4m/debug/../src/con4m/compiler/codegen.c:2188:9
    #7 0x59a156034cb6 in c4m_generate_code libcon4m/debug/../src/con4m/compiler/compile.c:1079:5
    #8 0x59a155ece63f in test_compiler libcon4m/debug/../src/tests/test.c:441:20
    #9 0x59a155ed1231 in main libcon4m/debug/../src/tests/test.c:515:18

../src/con4m/marshal.c:349:5: runtime error: call to function c4m_string_unmarshal through pointer to incorrect function type 'void (*)(void *, c4m_stream_t *, struct hatrack_dict_t *)'
libcon4m/debug/../src/con4m/string.c:1193: note: c4m_string_unmarshal defined here
    #0 0x59a155f5cd49 in c4m_sub_unmarshal libcon4m/debug/../src/con4m/marshal.c:349:5
    #1 0x59a155fb5ac7 in c4m_vm_load_const_data libcon4m/debug/../src/con4m/vm.c:1525:24
    #2 0x59a155fb543c in c4m_vm_setup_runtime libcon4m/debug/../src/con4m/vm.c:1583:5
    #3 0x59a156034cbf in c4m_generate_code libcon4m/debug/../src/con4m/compiler/compile.c:1080:5
    #4 0x59a155ece63f in test_compiler libcon4m/debug/../src/tests/test.c:441:20
    #5 0x59a155ed1231 in main libcon4m/debug/../src/tests/test.c:515:18

../src/con4m/object.c:502:13: runtime error: call to function c4m_sha_init through pointer to incorrect function type 'void (*)(void **, struct __va_list_tag *)'
libcon4m/debug/../src/con4m/crypto/sha.c:30: note: c4m_sha_init defined here
    #0 0x59a155f0b0ca in _c4m_new libcon4m/debug/../src/con4m/object.c:502:13
    #1 0x59a155f60994 in type_hash_and_dedupe libcon4m/debug/../src/con4m/types.c:392:24
    #2 0x59a155f5f218 in c4m_calculate_type_hash libcon4m/debug/../src/con4m/types.c:433:12
    #3 0x59a155f6fe34 in c4m_initialize_global_types libcon4m/debug/../src/con4m/types.c:1672:9
    #4 0x59a155fb48e1 in c4m_init libcon4m/debug/../src/con4m/init.c:40:5

../src/con4m/object.c:538:12: runtime error: call to function signed_repr through pointer to incorrect function type 'struct c4m_str_t *(*)(void *)'
libcon4m/debug/../src/con4m/numbers.c:22: note: signed_repr defined here
    #0 0x59a155f0ba27 in c4m_repr libcon4m/debug/../src/con4m/object.c:538:12
    #1 0x59a156028afd in box_repr libcon4m/debug/../src/con4m/box.c:14:12
    #2 0x59a155f0d221 in c4m_to_str libcon4m/debug/../src/con4m/object.c:589:12
    #3 0x59a155f97561 in _c4m_stream_write_object libcon4m/debug/../src/con4m/streams.c:497:20
    #4 0x59a155f99e6e in _c4m_print libcon4m/debug/../src/con4m/streams.c:711:9
    #5 0x59a155fd81c3 in c4m_vm_runloop libcon4m/debug/../src/con4m/vm.c:1388:17
    #6 0x59a155fb94f9 in c4m_vmthread_run libcon4m/debug/../src/con4m/vm.c:1664:18
    #7 0x59a155ece919 in test_compiler libcon4m/debug/../src/tests/test.c:453:5
    #8 0x59a155ed1231 in main libcon4m/debug/../src/tests/test.c:515:18

../src/con4m/object.c:589:12: runtime error: call to function c4m_str_to_str through pointer to incorrect function type 'struct c4m_str_t *(*)(void *)'
libcon4m/debug/../src/con4m/string.c:1247: note: c4m_str_to_str defined here
    #0 0x59a155f0d20f in c4m_to_str libcon4m/debug/../src/con4m/object.c:589:12
    #1 0x59a155f97561 in _c4m_stream_write_object libcon4m/debug/../src/con4m/streams.c:497:20
    #2 0x59a155f99e6e in _c4m_print libcon4m/debug/../src/con4m/streams.c:711:9
    #3 0x59a155ece59c in test_compiler libcon4m/debug/../src/tests/test.c:423:5
    #4 0x59a155ed1231 in main libcon4m/debug/../src/tests/test.c:515:18

../src/con4m/object.c:601:12: runtime error: call to function list_copy through pointer to incorrect function type 'void *(*)(void *)'
libcon4m/debug/../src/con4m/lists.c:171: note: list_copy defined here
    #0 0x59a155f0d3bf in c4m_copy_object libcon4m/debug/../src/con4m/object.c:601:12
    #1 0x59a155fe0ea3 in c4m_vm_tcall libcon4m/debug/../src/con4m/vm.c:347:15
    #2 0x59a155fd4a19 in c4m_vm_runloop libcon4m/debug/../src/con4m/vm.c:1274:17
    #3 0x59a155fb94f9 in c4m_vmthread_run libcon4m/debug/../src/con4m/vm.c:1664:18
    #4 0x59a155ece919 in test_compiler libcon4m/debug/../src/tests/test.c:453:5
    #5 0x59a155ed1231 in main libcon4m/debug/../src/tests/test.c:515:18

../src/con4m/object.c:617:12: runtime error: call to function c4m_str_copy through pointer to incorrect function type 'void *(*)(void *)'
libcon4m/debug/../src/con4m/string.c:273: note: c4m_str_copy defined here
    #0 0x59a155f0d6c6 in c4m_copy_object_of_type libcon4m/debug/../src/con4m/object.c:617:12
    #1 0x59a155f172e8 in list_copy libcon4m/debug/../src/con4m/lists.c:183:31
    #2 0x59a155f0d3ce in c4m_copy_object libcon4m/debug/../src/con4m/object.c:601:12
    #3 0x59a155fe0ea3 in c4m_vm_tcall libcon4m/debug/../src/con4m/vm.c:347:15
    #4 0x59a155fd4a19 in c4m_vm_runloop libcon4m/debug/../src/con4m/vm.c:1274:17
    #5 0x59a155fb94f9 in c4m_vmthread_run libcon4m/debug/../src/con4m/vm.c:1664:18
    #6 0x59a155ece919 in test_compiler libcon4m/debug/../src/tests/test.c:453:5
    #7 0x59a155ed1231 in main libcon4m/debug/../src/tests/test.c:515:18

../src/con4m/object.c:689:12: runtime error: call to function c4m_xlist_len through pointer to incorrect function type 'long (*)(void *)'
libcon4m/debug/../src/con4m/xlist.c:185: note: c4m_xlist_len defined here
    #0 0x59a155f0e152 in c4m_len libcon4m/debug/../src/con4m/object.c:689:12
    #1 0x59a155f598e8 in c4m_marshal_compact_type libcon4m/debug/../src/con4m/marshal.c:148:33
    #2 0x59a155f5bee2 in c4m_sub_marshal libcon4m/debug/../src/con4m/marshal.c:265:5
    #3 0x59a1560d68ac in _c4m_layout_const_obj libcon4m/debug/../src/con4m/compiler/memory_layout.c:127:5
    #4 0x59a1560f1da4 in gen_load_const_obj libcon4m/debug/../src/con4m/compiler/codegen.c:251:23
    #5 0x59a1560ea78c in gen_literal libcon4m/debug/../src/con4m/compiler/codegen.c:1543:13
    #6 0x59a1560dfb34 in gen_one_node libcon4m/debug/../src/con4m/compiler/codegen.c:1877:9
    #7 0x59a1560e41aa in gen_kids libcon4m/debug/../src/con4m/compiler/codegen.c:466:9
    #8 0x59a1560dfbc0 in gen_one_node libcon4m/debug/../src/con4m/compiler/codegen.c:1912:9
    #9 0x59a1560f4d37 in gen_one_kid libcon4m/debug/../src/con4m/compiler/codegen.c:484:5
    #10 0x59a1560ebb75 in gen_assign libcon4m/debug/../src/con4m/compiler/codegen.c:1605:5
    #11 0x59a1560dfb42 in gen_one_node libcon4m/debug/../src/con4m/compiler/codegen.c:1880:9
    #12 0x59a1560e41aa in gen_kids libcon4m/debug/../src/con4m/compiler/codegen.c:466:9
    #13 0x59a1560e3c66 in gen_module libcon4m/debug/../src/con4m/compiler/codegen.c:787:5
    #14 0x59a1560df710 in gen_one_node libcon4m/debug/../src/con4m/compiler/codegen.c:1805:9
    #15 0x59a1560ddf59 in gen_module_code libcon4m/debug/../src/con4m/compiler/codegen.c:2110:5
    #16 0x59a1560db383 in c4m_internal_codegen libcon4m/debug/../src/con4m/compiler/codegen.c:2188:9
    #17 0x59a156034cb6 in c4m_generate_code libcon4m/debug/../src/con4m/compiler/compile.c:1079:5
    #18 0x59a155ece63f in test_compiler libcon4m/debug/../src/tests/test.c:441:20
    #19 0x59a155ed1231 in main libcon4m/debug/../src/tests/test.c:515:18

../src/con4m/object.c:703:12: runtime error: call to function list_get through pointer to incorrect function type 'void *(*)(void *, void *)'
libcon4m/debug/../src/con4m/lists.c:191: note: list_get defined here
    #0 0x59a155f0e2f6 in c4m_index_get libcon4m/debug/../src/con4m/object.c:703:12
    #1 0x59a155ff1a23 in c4m_vm_tcall libcon4m/debug/../src/con4m/vm.c:502:15
    #2 0x59a155fd4a19 in c4m_vm_runloop libcon4m/debug/../src/con4m/vm.c:1274:17
    #3 0x59a155fb94f9 in c4m_vmthread_run libcon4m/debug/../src/con4m/vm.c:1664:18
    #4 0x59a155ece919 in test_compiler libcon4m/debug/../src/tests/test.c:453:5
    #5 0x59a155ed1231 in main libcon4m/debug/../src/tests/test.c:515:18

../src/con4m/object.c:717:5: runtime error: call to function list_set through pointer to incorrect function type 'void (*)(void *, void *, void *)'
libcon4m/debug/../src/con4m/lists.c:226: note: list_set defined here
    #0 0x59a155f0e49a in c4m_index_set libcon4m/debug/../src/con4m/object.c:717:5
    #1 0x59a155ff2420 in c4m_vm_tcall libcon4m/debug/../src/con4m/vm.c:515:9
    #2 0x59a155fd4a19 in c4m_vm_runloop libcon4m/debug/../src/con4m/vm.c:1274:17
    #3 0x59a155fb94f9 in c4m_vmthread_run libcon4m/debug/../src/con4m/vm.c:1664:18
    #4 0x59a155ece919 in test_compiler libcon4m/debug/../src/tests/test.c:453:5
    #5 0x59a155ed1231 in main libcon4m/debug/../src/tests/test.c:515:18

../src/con4m/object.c:745:5: runtime error: call to function list_set_slice through pointer to incorrect function type 'void (*)(void *, long, long, void *)'
libcon4m/debug/../src/con4m/lists.c:275: note: list_set_slice defined here
    #0 0x59a155f0e7fe in c4m_slice_set libcon4m/debug/../src/con4m/object.c:745:5
    #1 0x59a155ff3975 in c4m_vm_tcall libcon4m/debug/../src/con4m/vm.c:539:9
    #2 0x59a155fd4a19 in c4m_vm_runloop libcon4m/debug/../src/con4m/vm.c:1274:17
    #3 0x59a155fb94f9 in c4m_vmthread_run libcon4m/debug/../src/con4m/vm.c:1664:18
    #4 0x59a155ece919 in test_compiler libcon4m/debug/../src/tests/test.c:453:5
    #5 0x59a155ed1231 in main libcon4m/debug/../src/tests/test.c:515:18

../src/con4m/object.c:780:12: runtime error: call to function any_int_coerce_to through pointer to incorrect function type 'void *(*)(void *, struct c4m_type_t *)'
libcon4m/debug/../src/con4m/numbers.c:393: note: any_int_coerce_to defined here
    #0 0x59a155f0ed31 in c4m_coerce libcon4m/debug/../src/con4m/object.c:780:12
    #1 0x59a155f9157a in tuple_coerce libcon4m/debug/../src/con4m/tuple.c:123:25
    #2 0x59a155f91780 in tuple_copy libcon4m/debug/../src/con4m/tuple.c:132:12
    #3 0x59a155f0d3ce in c4m_copy_object libcon4m/debug/../src/con4m/object.c:601:12
    #4 0x59a155fe0ea3 in c4m_vm_tcall libcon4m/debug/../src/con4m/vm.c:347:15
    #5 0x59a155fd4a19 in c4m_vm_runloop libcon4m/debug/../src/con4m/vm.c:1274:17
    #6 0x59a155fb94f9 in c4m_vmthread_run libcon4m/debug/../src/con4m/vm.c:1664:18
    #7 0x59a155ece919 in test_compiler libcon4m/debug/../src/tests/test.c:453:5
    #8 0x59a155ed1231 in main libcon4m/debug/../src/tests/test.c:515:18

../src/con4m/object.c:929:12: runtime error: call to function to_list_lit through pointer to incorrect function type 'void *(*)(struct c4m_type_t *, c4m_xlist_t *, struct c4m_str_t *)'
libcon4m/debug/../src/con4m/lists.c:360: note: to_list_lit defined here
    #0 0x59a155f10364 in c4m_container_literal libcon4m/debug/../src/con4m/object.c:929:12
    #1 0x59a1560975fb in c4m_fold_container libcon4m/debug/../src/con4m/compiler/check_pass.c:268:17
    #2 0x59a1560c21f4 in calculate_container_type libcon4m/debug/../src/con4m/compiler/check_pass.c:375:5
    #3 0x59a1560a5c8f in check_literal libcon4m/debug/../src/con4m/compiler/check_pass.c:1969:9
    #4 0x59a1560a10f3 in base_check_pass_dispatch libcon4m/debug/../src/con4m/compiler/check_pass.c:2137:9
    #5 0x59a1560bbda0 in process_children libcon4m/debug/../src/con4m/compiler/check_pass.c:566:9
    #6 0x59a1560a11f6 in base_check_pass_dispatch libcon4m/debug/../src/con4m/compiler/check_pass.c:2210:9
    #7 0x59a1560c9b9c in base_handle_assign libcon4m/debug/../src/con4m/compiler/check_pass.c:1853:5
    #8 0x59a1560b96db in handle_assign libcon4m/debug/../src/con4m/compiler/check_pass.c:1881:9
    #9 0x59a1560a1194 in base_check_pass_dispatch libcon4m/debug/../src/con4m/compiler/check_pass.c:2181:9
    #10 0x59a15609fe1f in check_pass_toplevel_dispatch libcon4m/debug/../src/con4m/compiler/check_pass.c:2254:9
    #11 0x59a1560a04eb in process_toplevel_children libcon4m/debug/../src/con4m/compiler/check_pass.c:2225:9
    #12 0x59a15609fcae in check_pass_toplevel_dispatch libcon4m/debug/../src/con4m/compiler/check_pass.c:2238:9
    #13 0x59a15609cbce in check_module_toplevel libcon4m/debug/../src/con4m/compiler/check_pass.c:2539:5
    #14 0x59a156099798 in module_check_pass libcon4m/debug/../src/con4m/compiler/check_pass.c:2791:5
    #15 0x59a15609884f in c4m_check_pass libcon4m/debug/../src/con4m/compiler/check_pass.c:3001:24
    #16 0x59a156034724 in c4m_compile_from_entry_point libcon4m/debug/../src/con4m/compiler/compile.c:1065:5
    #17 0x59a155ece5a5 in test_compiler libcon4m/debug/../src/tests/test.c:425:11
    #18 0x59a155ed1231 in main libcon4m/debug/../src/tests/test.c:515:18

../src/con4m/tree_pattern.c:292:12: runtime error: call to function tcmp through pointer to incorrect function type 'bool (*)(void *, void *)'
libcon4m/debug/../src/con4m/compiler/ast_utils.c:6: note: tcmp defined here
    #0 0x59a15617149a in content_matches libcon4m/debug/../src/con4m/tree_pattern.c:292:12
    #1 0x59a156170607 in full_match libcon4m/debug/../src/con4m/tree_pattern.c:554:20
    #2 0x59a15616fd1f in c4m_tree_match libcon4m/debug/../src/con4m/tree_pattern.c:274:19
    #3 0x59a15607aa71 in apply_pattern_on_node libcon4m/debug/../src/con4m/compiler/ast_utils.c:376:24
    #4 0x59a15607b1b4 in get_match_on_node libcon4m/debug/../src/con4m/compiler/ast_utils.c:394:24
    #5 0x59a1560fa99f in is_tuple_assignment libcon4m/debug/../src/con4m/compiler/codegen.c:1588:26
    #6 0x59a1560ebc7c in gen_assign libcon4m/debug/../src/con4m/compiler/codegen.c:1610:13
    #7 0x59a1560dfb42 in gen_one_node libcon4m/debug/../src/con4m/compiler/codegen.c:1880:9
    #8 0x59a1560e41aa in gen_kids libcon4m/debug/../src/con4m/compiler/codegen.c:466:9
    #9 0x59a1560e3c66 in gen_module libcon4m/debug/../src/con4m/compiler/codegen.c:787:5
    #10 0x59a1560df710 in gen_one_node libcon4m/debug/../src/con4m/compiler/codegen.c:1805:9
    #11 0x59a1560ddf59 in gen_module_code libcon4m/debug/../src/con4m/compiler/codegen.c:2110:5
    #12 0x59a1560db383 in c4m_internal_codegen libcon4m/debug/../src/con4m/compiler/codegen.c:2188:9
    #13 0x59a156034cb6 in c4m_generate_code libcon4m/debug/../src/con4m/compiler/compile.c:1079:5
    #14 0x59a155ece63f in test_compiler libcon4m/debug/../src/tests/test.c:441:20
    #15 0x59a155ed1231 in main libcon4m/debug/../src/tests/test.c:515:18

No, won't fix. A pointer is a pointer, and in every ABI in the world a void * in a parameter can be substituted with any other pointer type.
It's much more clear at the function definition site to declare the ACTUAL types. Nor am I ever going to take the pain to do all the refactoring and gory casting to make the code less clear.
Please do not spend time on UB that is not actually going to lead to issues on any target platforms.


Extract features tqin

functime/feature_extraction/tq_feature_extractions.py
permutation_entropy: done
query_similarity_count: done, but not sure if this is correct... I think we agreed this one is sort of useless and can be ignored
range_count: done
ratio_beyond_r_sigma: done
ratio_value_number_to_length (ratio_n_unique_to_length): done
root_mean_square: done
sample_entropy: done (only for pl.Series)
spkt_welch_density: not done. Will need scipy

Copied into main


Move dependencies to devDependencies

Installing this package is causing some errors in my repo. Most of the dependencies should be moved to devDependencies so it doesn't install them unless yarning yarn/npm install directly
Currently having issues where this package installs an older version of jest-cli which somehow takes precedence over the jest-cli in jest package.
I saw an open PR for this, was there a reason why it wasn't merged? I wouldn't mind opening one myself if I know it has the possibility of getting merged

fixed in v5


feat: added support for JSONPb generics to map JSON to Kitex ProtoBufs

Added support for JSONPb generics to map JSON to Kitex ProtoBufs
What type of PR is this?

Check the PR title.

[x] This PR title match the format: <type>(optional scope): <description>
[x] The description of this PR title is user-oriented and clear enough for others to understand.
[ ] Attach the PR updating the user documentation if the current PR requires user awareness at the usage level. User docs repo

(Optional) Translate the PR title into Chinese.
(Optional) More detailed description for this PR(en: English/zh: Chinese).

en: I've included some documentation I wrote about the changes I made to implement the feature here
zh(optional):
(Optional) Which issue(s) this PR fixes:

(optional) The PR that updates user documentation:

Hi, so sorry for the inconvenience, but may I know how you run workflow checks on your local machine instead of during pull requests?
I am using an Apple M1 Macbook with nektos/act currently, but am facing errors in the pr-check workflow, as well as in compatibility checks as , with the following error:
level=warning msg= ⚠ You are using Apple M-series chip and you have not specified container architecture, you might encounter issues while running act. If so, try running it with '--container-architecture linux/amd64'. ⚠
[Tests/compatibility-test-2 ] 🚧  Skipping unsupported platform -- Try running with -P ARM64=...
Any assistance would be greatly appreciated!


GenerateBalo.java class file error

In GenerateBalo.java
BPackageSymbol buitlinSymbol = symbolTable.builtInPackageSymbol;
if (saveBuiltin && buitlinSymbol != null && buitlinSymbol.compiledPackage != null) {
writer.writeLibraryPackage(buitlinSymbol, Names.BUILTIN_PACKAGE.getValue());
There is an error when trying to build with gradle
There is no symbol existing for builtInPackageSymbol in SymbolTable class and there is no BUILTIN_PACKAGE in the Names class,
The error that is displayed is builtInPackageSymbol cannot be resolved or is not a field
and BUILTIN_PACKAGE cannot be resolved or is not a field
could anyone please help me how to resolve this issue and what values to be assigned for the same.
Thank you in advance

Hi,
https://github.com/ballerina-platform/ballerina-lang/blob/v2.0.0-Preview1-M1/misc/lib-creator-milestone/src/main/java/org/ballerinalang/stdlib/utils/GenerateBalo.java#L133
Above file was used to bootstrap, but is not currently being used in the build.
Even if you comment two :lib-creator-milestone lines from the settings.gradle file, the build should still pass.
Just cloning the repo and running ./gradlew build should build the ballerina zip file, you shouldn't need to do any changes.
(You can use ./gradlew jballerina-tools:createZip -x check to get a faster build with just the zip file)
Can you please let me know what is the exact gradle command you are running and where you are running it from ?
Also please provide the stack trace form the failing build.

I am closing this issue with above explanation. Please reopen the issue if you need more clarification and help on this.


Update the link for understand data volumes

- What I did
Update the link for understand data volumes
- How I did it
Update the link for understand data volumes in docker/docker.github.io
- How to verify it
Access to the page
- Description for the changelog
The new link is https://docs.docker.com/engine/tutorials/dockervolumes/.
Signed-off-by: yuexiao-wang<EMAIL_ADDRESS>

/cc @thaJeztah
This is tricky… I think we should link to docs.docker.com instead of the github source file.

ah, yes, similar to the other PR
technically, the current links are OK, because these files are synced with the docker.github.io repository, where all the other pages still live
perhaps we should add a big banner to say that navigation / links are broken when viewed here, and link to the same file in the docker.github.io repository (if people view them on GitHub)
/cc @mstanleyjones do we have a list of things that we need to sort out?

@mstanleyjones @thaJeztah @vdemeester PTAL
Got it and I have updated this PR.
Thanks so much for your suggestion!

Thanks @yuexiao-wang - we're still working out the best way to do this, so bear with us :smile:

@yuexiao-wang can you rebase? Then we can go ahead and merge

@thaJeztah @mstanleyjones PTAL
Thanks!

did you stage and push your changes? It still says there's conflicts

Sorry, I found it and I'm resolving it now.

@thaJeztah PTAL
There are some other commits updated to this PR.
Can I solve it?

Assuming your "upstream" (docker) is called "upstream"; git fetch upstream then git rebase upstream/master

@thaJeztah @mstanleyjones PTAL
It is done to resolve the conflicts.
Thanks very much for @thaJeztah's help!


ckbcomp: 1.129 -> 1.131

Based on upstream commit logs; not much has happened: mostly translation
updates and a minor fix for Nokia N900 keyboards.

Have you built it locally? Travis is OOM.

Yes, nox-review passed.

Thanks!


Process mermaid diagrams from gists

Problem: The diagrams on developer-docs cannot be modified without using
a svg editor.
Solution: Use mermaid-js to generate diagrams "as code"
Additional comments
The new script is able to process a mermaid based diagram published on gist. The only thing that bothers me about it, is that the script relies on node.js and javascript packages which are known to be "fat". So my question is, should I add node.js deps to ecm docker image or rather create a variant that includes said deps letting the principal one to be as slim it could be?

Closing in favor of embedded mermaid diagrams supported by Github


Schema and number of arrays unequal for array containing documents

Hey,
When I insert a document with an array and try to read it back from a collection with a non-existing field in a schema, it breaks with a ValueError.
import bson
import pyarrow
import pymongoarrow.api

from pymongo import MongoClient

client = MongoClient()

client.db.collection.insert_one(
    {'_id': bson.objectid.ObjectId("000000000000000000000013"),
     'list_field': [{'name': "Test1",
                     'test': "Test2"}]}
              )

schema = pymongoarrow.api.Schema({
    '_id': bson.ObjectId,
    'list_field': [{
        'name': pyarrow.string(),
        'test': pyarrow.string(),
        'test_test': pyarrow.string(),  # does not exist in the database collection
        }],
})

df = pymongoarrow.api.aggregate_polars_all(client.db.collection, query, schema=schema)

I get the following traceback to a ValueError:

  File "/home/test.py", in test
    df = pymongoarrow.api.aggregate_polars_all(self._collection, query, schema=schema)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/gugleta/.cache/pypoetry/virtualenvs/py3.12/lib/python3.12/site-packages/pymongoarrow/api.py", line 368, in aggregate_polars_all
    return _arrow_to_polars(aggregate_arrow_all(collection, pipeline, schema=schema, **kwargs))
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/gugleta/.cache/pypoetry/virtualenvs/py3.12/lib/python3.12/site-packages/pymongoarrow/api.py", line 152, in aggregate_arrow_all
    return context.finish()
           ^^^^^^^^^^^^^^^^
  File "/home/gugleta/.cache/pypoetry/virtualenvs/py3.12/lib/python3.12/site-packages/pymongoarrow/context.py", line 52, in finish
    return Table.from_arrays(arrays=arrays, schema=self.schema.to_arrow())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "pyarrow/table.pxi", line 4851, in pyarrow.lib.Table.from_arrays
  File "pyarrow/table.pxi", line 1603, in pyarrow.lib._sanitize_arrays
ValueError: Schema and number of arrays unequal

This happens in version 1.6.0 but not in previous 1.5.2.
The problem that this causes is when the data in the database comes differently compared to the currently defined schema, let's say a field is removed, it can cause this exact issue without expecting it or being able to prevent it.

Thanks for reporting this, we are investigating here: https://jira.mongodb.org/browse/INTPYTHON-418
We'll report back soon.

Fixed in the 1.6.2 release.


ios SDWebImage 版本和该插件中依赖sdwebview版本冲突

➜  pod install
Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod "SDWebImage/Core":
In Podfile:
SDWebImage (= 3.8.2) was resolved to 3.8.2, which depends on
SDWebImage/Core (= 3.8.2)
flutter_image_compress (from `../self_driving_flutter/.ios/.symlinks/plugins/flutter_image_compress/ios`) was resolved to 0.0.1, which depends on
  SDWebImageWebPCoder was resolved to 0.1.0, which depends on
    SDWebImage/Core (~> 5.0.0-beta)

I get something similar, like
1 warning generated.

..../ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoderHelper.m:31:40: error: no visible @interface for 'UIImage' declares the selector 'imageByPreparingForDisplay'
        UIImage *decodedImage = [image imageByPreparingForDisplay];
                                 ~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
.../ios/Pods/SDWebImage/SDWebImage/Core/SDImageCoderHelper.m:48:40: error: no visible @interface for 'UIImage' declares the selector 'imageByPreparingThumbnailOfSize:'
        UIImage *decodedImage = [image imageByPreparingThumbnailOfSize:thumbnailSize];
                                 ~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.


[Enhancement] install extensions from Google WebStore

Hello! Would you add some extension to simplier installation extensions from Google WebStore? Would be nice feature! Thanks!

I've whipped up this simple script to download an extension from the store link and open it with inox, then you can just drag and drop the .crx from inox.
https://github.com/SethDusek/extension-downloader
Usage: python downloader.py YOURLINKHERE
Example: python downloader.py https://chrome.google.com/webstore/detail/scriptsafe/oiigbmnaadbkfbmpbfijlflahbdbdgdf

doesn't seem to work for postman, it tells me I can only install it from the webstore

Once it is downloaded you have to drag and drop the extension.

Obviously. And it doesn't work.

What error do you get? When I wrote that a few months back I tested it out on both stock chromium and inox (on arch)

What error do you get?

What I already said: it tells me I can only install it from the webstore

Huh. Okay, I'll see what I can do

@hasufell Seems to be working for me on latest chromium. http://i.shibe.ml/QmRLtdABPCDRYr9Jn6NHTWwa5j5jBYNHieDj6nzc2GG7bA.webm
I can't test right now on inox as I don't have it built,  but I don't see why inox patches would make any difference.

I can't test right now on inox as I don't have it built, but I don't see why inox patches would make any difference.

I don't see how testing it on chromium is relevant here. Please test it on inox. It doesn't help to make assumptions.

@MrAmnesiac I've done a little bit of digging into your issue, and I believe you are using the wrong link. For example you are using https://clients2.google.com/service/update2/crx?response=redirect&prodversion=48.0&x=id%3Dapmlngnhgbnjpajelfkmabhkfapgnoai%26installsource%3Dondemand%26uc
when instead you should just be passing the store link to the downloader, which in this case would be https://chrome.google.com/webstore/detail/cloud-to-butt-plus/apmlngnhgbnjpajelfkmabhkfapgnoai

@hasufell I got somebody on IRC to test it on arch with the inox-bin package. He says it is working, so I honestly don't know whats wrong here

I've been trying to install the Signal webapp, using the script and manually editing the URL, but the installation fails, telling me that "this element can only be installed from the Web Store", even when drag-dropping in chrome://extensions.
Is it possible to install Signal in Inox?

@s0r00t Why are you manually editing the URL, why not just pass it as an argument to the downloader?

Windows version

@aolko why is the source code not available?

@SethDusek it will be a tad later

added source

Hello
I'm just repeating what all others are waiting for eagerly...
Pls, Pls...
Would you add some extension to simplier installation extensions from Google WebStore?
this would help us use the ungoogled chrome more extensively & with greater privacy...
Thanks!

Hello developer !!
I'm just here for a quick reply..
when I've downloaded the .py extension downloader & drag-n-dropped to
chrome://extensions/
it doesnot seem to work, just the errors shows:

Failed to load extension from: [PATH]
Manifest file is missing or unreadable.

Sorry for not being active in this issue. I will look into this the next days.

I wrote a small "Extension unpacker" which downloads and unpacks extensions from WebStore to make a offline install possible, take a look here: https://github.com/gcarq/inoxunpack
with this you should be able to bypass the WebStore constraints.
Feel free to open PRs.

Would it be theoretically possible to unpack the extension directly to the profile directory of the browser? I imagine there is some kind of database that stores the installed extensions and their settings, which could be edited. This way installations and updates of extensions could be fully automated.

AFAIK Chrome explicitly prevents anything external from touching its extensions, to prevent malware (remember the changed homepage and a browser bar or two you didn't ask for while installing that audio converter a minute ago? That's primarily why :P). Even common antivirus software, generally rather invasive, can't install addons fully automatically, and Chrome prompts user on the next start whenever to install something or not.

How does it prevent that? There must be a workaround :)

There's a mechanism in Debian's Chromium that allows for system-installed extensions. I think it is a part of the Chromium code. It should be easy to modify to allow the mechanism to work relative to the profile directory I suppose. But this won't work with extensions that aren't installed this way.
AFAIK, most files in the profile directory are JSON or SQLite files. It shouldn't be too hard to modify it if you want to do that.
I think a better solution is to have an extension that takes care of this; i.e. notify the users and perform the update (if that is simple enough to do). Update checking and notifications should be possible with the current Chrome APIs.

@Eloston Do you have a link to the Debian's Chromium project where the extensions are included?
FYI it creates a new entries in ~/.config/inox/<UserProfile>/Preferences if a unpacked extension is installed (ublock origin in this case), but there are a lot of additional properties which aren't provided by the manifest.json
            "<some-id>": {
                "active_permissions": {
                    "api": [
                        "contextMenus",
                        "privacy",
                        "storage",
                        "tabs",
                        "unlimitedStorage",
                        "webNavigation",
                        "webRequest",
                        "webRequestBlocking"
                    ],
                    "explicit_host": [
                        "http://*/*",
                        "https://*/*"
                    ],
                    "manifest_permissions": [],
                    "scriptable_host": [
                        "http://*/*",
                        "https://*/*"
                    ]
                },
                "commands": {},
                "content_settings": [],
                "creation_flags": 38,
                "events": [],
                "extension_can_script_all_urls": true,
                "from_bookmark": false,
                "from_webstore": false,
                "granted_permissions": {
                    "api": [
                        "contextMenus",
                        "privacy",
                        "storage",
                        "tabs",
                        "unlimitedStorage",
                        "webNavigation",
                        "webRequest",
                        "webRequestBlocking"
                    ],
                    "explicit_host": [
                        "http://*/*",
                        "https://*/*"
                    ],
                    "manifest_permissions": [],
                    "scriptable_host": [
                        "http://*/*",
                        "https://*/*"
                    ]
                },
                "incognito_content_settings": [],
                "incognito_preferences": {},
                "initial_keybindings_set": true,
                "install_time": "13131476020325255",
                "location": 4,
                "never_activated_since_loaded": true,
                "newAllowFileAccess": true,
                "path": "/home/test/.inoxunpack/cjpalhdlnbpafiamejdnhcphjbkeiagm",
                "preferences": {
                    "enable_a_ping": false,
                    "net.network_prediction_options": 2
                },
                "regular_only_preferences": {},
                "state": 1,
                "was_installed_by_default": false,
                "was_installed_by_oem": false
            }

Another thing worth mentioning is the extension-content-verification flag, which is a good entry point to find the relevant verification code and it would make an install possible without unpacking.
This flag can be used to turn on verification that the contents of the files on disk for extensions from the webstore match what they're expected to be. This can be used to turn on this feature if it would not otherwise have been turned on, but cannot be used to turn it off (because this setting can be tampered with by malware). #extension-content-verification
More information: http://superuser.com/questions/848664/can-i-disable-chromes-extension-content-verification
My plan is also to create a browser extension to take care of this, but until a robust solution is found python it is.

@gcarq I was referring to this mechanism: https://developer.chrome.com/extensions/external_extensions

@Eloston Is debian shipping some extensions per default? that mechanism doesn't load local .crx files.

@gcarq You're right, it doesn't load local crx files. The mechanism is for allowing packages to provide extensions to the webbrowser, like it is done for Firefox in Debian. Is there a reason you want to leave the crx file intact?

If anyone's interested, here's my take on a Python script for installing extensions from the Webstore and keeping them updated.

Here is yet another tool for keeping extensions up-to-date: chromexup. It focuses on automatic updates and should work in Linux with systemd and in macOS with launchd.
In Windows Chromium doesn't load locally placed external extensions unless an update server URL is provided, so sadly no use case here.


Display version information to the web frontend for easy reporting

What would you like to be added:
Display the version information somewhere else.
Example image

Why is this needed:
If we encounter a problem, it will help us identify which version the problem occurred in.

/assign @Hosshii


Wrong directive stated in text in inf-addsoftware-directive.md

Change incorrect "CopyINF" to correct "CopyFiles" directive in text. Link is OK

Thanks @eddiemon for your sharp eye!  This change will be on the live page within a few minutes.


How about making release tag on every important merge or milestone

I do really want to follow what's preparing next for corefx, but physically cannot follow every notification (usually just miss important ones among others). This repo has zero releases. And since this is a "lab" repo, releases could be quite arbitrary for any important change, just make it a date or counter+1. E.g. when you merged finally DictionarySlim or Json stuff, it would be so nice to see it as "almost ready", but not every line change. And GitHub has "watch releases" mode that is perfect for that.

Since this repo has zero releases (like you mentioned), I am not sure if it makes sense to make such guarantees to avoid adding overhead/expectations which this repo doesn't adhere to. What you should be watching is check-ins/announcements/releases in corefx itself since that is where "ship-ready"/"productized" code lives.
Some of the projects within corefxlab may never reach that stage which and could easily be prototypes that give us the ability to experiment and learn, along with gather feedback from those like you who are uniquely interested in the early stages.

And since this is a "lab" repo, releases could be quite arbitrary for any important change

That seems like an oxymoron ;)
There should be no "important" changes in a repo like this.
When we did merge Json stuff, it went through API review, announcement, blogs, videos, etc., and all of which was within corefx. The same would happen to other projects once (and if) they reach that stage.

There should be no "important" changes in a repo like this.

I meant interesting/important ones.
What I meant is that GH blue dot is like email inbox. Many times I had to unsubscribe from some hot discussion here to avoid distraction.
That was just an idea, not an issue, so closing it. But there should a middle ground between release blog posts and every commit/issue here.


Post MSC2290 bug / Clicking on the validation mail link fails registration

-> When the link is clicked, the current registration is dropped and the app restarts
Step to reproduce:

Create a new account
Add an email
Opens external mail client then click on the validation link

ACTUAL => Opens riot on a blank login page
EXPECTED => Continue the current registration

It looks like riot was making assumption on the link received by mail, and was trying to intercept it instead of the next_link (that is hit only as a redirect and thus not triggering the deep link);
The received link is now of unknown form, so cannot be catch.
The issue is that on some platforms (browser/os) the nextLink triggers a deeplink but is seen as an empty universal link that clears the current registration and restart a blank app.
For now i have disabled the nextLink functionnality.
Moving this to phase:2 and remove release-blocker
=> Need to think of a better way to re-enter the app after validation


feat(ingest/powerbi): powerbi dataset profiling

DAX REST API based profiling implementation to query some details of PowerBI Datasets in the workspace. Does not introduce any breaking changes.
This implementation counts only amount of distinct values, min and max of a column. So it won't completely fulfill the possibilities Datahub UI provides. Extending the implementation to include other metrics isn't very complicated.
Is this something you would like to accept and include in Datahub or is using the DAX API for gathering information considered not a good practice?
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[x] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[x] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Thank you for the feedback! I'll start working with this asap.

@sid-acryl can you take another look at this PR?

Thank you for the review and feedback! I'll continue working on this still this week.


Feature/ghg redesign gwp update

This PR picked up on Álvaro and Agnieszka's work of the following PRs:

https://github.com/Vizzuality/climate-watch/pull/741
https://github.com/Vizzuality/climate-watch/pull/662

Merged it together and is now updating the frontend to get rid of references to GWP, tasks there are:

[x] Update GHG emissions module to use only the existing data sources, and not merge them with GWP;

[x] Update Country Profile to use data sources without GWP;

[x] Update Data Explorer to not use GWP and use just the pure Data Sources;

[x] check what's up with the performance of loading emissions data;

[X] Make sure compare page is still working;

[x] Update GHG emissions module to filter sectors, regions, gases based on the relation to data sources

[X] Make sure both embed and contained versions of all the pages work as well

[X] Make sure that Data Explorer and GHG modules are linked with interchangeable params: Make multiselect: Regions, Sectors, Gases

[X] Solve Sectors mismatch with Data explorer and filter data in Data explorer depending on Source (to discuss)

I think there might be a small issue, not sure if it's with the data. On the Data Explorer for GHG emissions, CAIT Source, Bunker fuels shows as a parent sector with Bunker fuels as a subsector? Is that because the way the data is encoded or is it a bug?

Might be a bug. Checking


tus rejects file URI

Describe the bug
When provided with a valid URI to a photo, tus ignores it and reports it can only use objects of type File, Blob or Reader.
To Reproduce
Steps to reproduce the behavior:
Here is the code I'm using. I'm using react-native-image-picker to take a photo. I am not using expo. I'm new at react-native so be gentle:
const onPressTakePhoto = () => {
    launchCamera(
      {
        mediaType: 'photo',
        includeBase64: true
      },
      (response) => {
        setPhoto(response);
        if (response) {
          // null check
          console.log('The path to the file is ' + response.uri);
          if (response.uri) {
            console.log("Valid response URI found")
            const upload = new tus.Upload(response.uri, {
              endpoint:
                'https://tusd.tusdemo.net/files/',
              retryDelays: [0, 3000, 5000, 10000, 20000],
              metadata: {
                filename: response.uri,
                filetype: 'image/jpeg'
              },
              onError: function (error) {
                console.log('Failed because: ' + error);
              },
              onProgress: function (bytesUploaded, bytesTotal) {
                var percentage = ((bytesUploaded / bytesTotal) * 100).toFixed(
                  2
                );
                console.log(bytesUploaded, bytesTotal, percentage + '%');
              },
              onSuccess: function () {
                console.log(
                  'Download %s from %s',
                  upload.file.name,
                  upload.url
                );
              }
            });
            upload.start();
          }
          else {
            console.log("Couldn't get the photo's URI");
          }
        }
      }
    )
  };

The console displays the full path to the photo, e.g. file:///var/mobile/Containers/Data/Application/8E9AE91D-2F8A-49C5-881F-672ACA6C8F32/tmp/A4812645-F170-404F-ACF9-5356306652A8.jpg. The client keeps reporting Failed because: Error: source object may only be an instance of File, Blob, or Reader in this environment.
Expected behavior
I was expecting that tus would pick up the URI passed in the filename attribute of metadata in the options.
Setup details
Please provide following details, if applicable to your situation:

Runtime environment: React Native
Used tus-js-client version: 2.2.0
Used tus server software: https://tusd.tusdemo.net/files/

You must pass the entire response object into tus-js-client and not just the URI (see https://github.com/tus/tus-js-client/blob/master/lib/browser/fileReader.js#L125):
const upload = new tus.Upload(response, {

This is not well documented yet (sorry about that).

Thank you, @Acconut . That seems to be working. I would have never guessed passing the entire response would do the trick, specially that I'm using the react-native-image-picker from https://github.com/react-native-image-picker/react-native-image-picker, NOT the one from expo as I can't use expo.

@Acconut : when using your server, is the upload supposed to succeed or is it expected it will fail?

Yes, it should work and does for me. Does the demo at https://tus.io/demo.html work for you? Have you configured your app with the correct permissions to make network requests?

@Acconut : I did add all the keys to the info.plist that should allow me to connect even with an invalid server certificate. In the NSAppTransportSecurity dictionary, I have key NSAllowsArbitraryLoads set to true and NSExceptionAllowsInsecureHTTPLoads also set to true. When trying to connect and getting the error message, the system prompts the app if it's ok to continue the request. I think this might be the part missing. There is no way I can respond to this. I've been mostly an Objective-C developer and I know there is some method you can implement where you can tell the system that you want to continue accessing the server but with the tus-js-client, I don't see this possibility.
2021-03-17 10:29:32.199327-0400 RAVEnGo (DEV)[2761:2811319] Task <072D8E78-AFA8-442F-870A-C14434E30083>.<3> finished with error [-1202] Error Domain=NSURLErrorDomain Code=-1202 "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “tusd.tusdemo.net” which could put your confidential information at risk." UserInfo={NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, _kCFStreamErrorDomainKey=3, NSErrorPeerCertificateChainKey=(     "<cert(0x10701e400) s: tusd.tusdemo.net i: <IP_ADDRESS>>"
You can see the question there which in some app might be presented to the user: NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?. I implemented the onShouldRetry exactly from an example here, returning true if the error code is not 403, but it still not working.

I am sorry but I have never working with iOS directly, so I cannot help you with such a specific question.

Closing this issue due to inactivity. Feel free to leave a comment if you want to continue the discussion :)


Changes for tests

Hey @Ardor-Wu , thanks for these.  I've just refactored the tests to use pytest though.  can you take a look over  #42 instead and tell me what you think?


🐛 Allow nil separator in IO.gets

Fixes #6360
Motivation
Despite the documentation (and runtime!) saying that nil is acceptable for the sep:
https://github.com/sorbet/sorbet/blob/48877f8a29cebb32e0de2b975c92872d812738aa/rbi/core/io.rbi#L1334-L1338
The signature doesn't allow it:
https://github.com/sorbet/sorbet/blob/48877f8a29cebb32e0de2b975c92872d812738aa/rbi/core/io.rbi#L1379-L1386
Test plan

bazel build //main:sorbet && bazel run //main:sorbet -- ~/stripe/sorbet/test/testdata/rbi/io.rb
Running against Stripe's codebase

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_MPqEJlDRq3iyZr
→ https://go/builds/bui_MPqERI87DfCUiz


call /finish_trajectory results in 'std::out_of_range'

If if run the demo data set with following command
roslaunch cartographer_ros offline_backpack_2d.launch bag_filenames:=${HOME}/Downloads/b2-2016-04-05-14-44-52.bag
and few moments later i call the rosservice
rosservice call /finish_trajectory "trajectory_id: 0"
it results in an std::out_of_range error and the cartographer_offline_node die.
rosservice call /finish_trajectory "trajectory_id: 0"
status:
  code: 0
  message: "Finished trajectory 0."

terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at
[cartographer_offline_node-3] process has died [pid 14081, exit code -6, cmd /home/joschka/catkin_ws/install_isolated/lib/cartographer_ros/cartographer_offline_node -configuration_directory /home/joschka/catkin_ws/install_isolated/share/cartographer_ros/configuration_files -configuration_basenames backpack_2d.lua -urdf_filenames /home/joschka/catkin_ws/install_isolated/share/cartographer_ros/urdf/backpack_2d.urdf -bag_filenames /home/joschka/Downloads/b2-2016-04-05-14-44-52.bag echoes:=horizontal_laser_2d __name:=cartographer_offline_node __log:=/home/joschka/.ros/log/a49b6a3a-0d74-11e8-97f8-9061ae355c0a/cartographer_offline_node-3.log].
log file: /home/joschka/.ros/log/a49b6a3a-0d74-11e8-97f8-9061ae355c0a/cartographer_offline_node-3*.log

Finishing the trajectory during operation however works when you run the online node?

I have not tried that yet.

@Joschka1 @cschuet Any update on this issue?
When running roslaunch cartographer_ros offline_backpack_3d.launch bag_filenames:=${HOME}/Downloads/b3-2016-04-05-15-51-36.bag and rosservice call /finish_trajectory 0 I also get a
terminate called after throwing an instance of 'std::out_of_range'   what():  _Map_base::at and the cartographer process dies. rosservice call /finish_trajectory 0  reports status:    code: 0   message: "Finished trajectory 0."
I am running Ubuntu 18.04 with ROS Melodic.

I haven't experienced this issue in recent versions. Feel free to reopen if it still happens.

@Joschka1 I got the same problem with you


Typo in README.md

The option in config.yml has a typo: It reads janborg_contaoical but in /src/CalendarIcalExporter.php it is spelled janborg_contao_ical (line 57).
Please be aware that correcting this typo can introduce breaking changes no matter which way you correct it. It may be that people found out about this and "corrected" the spelling in config.yml (as I did) and – maybe much more seldom – they did it the other way round (which is kind of naive because it would break update compatibility). But of course as one can not know which way you meant it, both options are possible.

Thank you, but fixing a typo in a README can't be a breaking change, IMHO.
Will fix it asap.

Thank you, but fixing a typo in a README can't be a breaking change, IMHO.

That’s right in general. But it could break a custom config.yml if someone had the idea to change the code in /src/CalendarIcalExporter.php instead of config.yml.
Clearing and regenerating the contao cache will fail in this case because of an "unknown" configuration option. This way I found out about the typo ;-).
Thank you for fixing it.


Multi Select

Is there any way to implement multi select functionality in it? Found Question

I added simple pull request
link on pull request


firefox: 96.0.2 -> 96.0.3; firefox-bin: 96.0.2 -> 96.0.3; firefox-esr-91: 91.5.0esr -> 91.5.1esr

Motivation for this change
https://www.mozilla.org/en-US/firefox/96.0.3/releasenotes/
https://www.mozilla.org/en-US/firefox/91.5.1/releasenotes/
Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

Tested firefox-wayland on x86_64-linux/sway/pipewire.
Had a bit of a hiccup with the permission dialogs on the gum test page. It asked for webcam access, granted, works. Moved on to the microphone page, it wouldn't ask for microphone permissions until I restarted firefox. Same behaviour when I moved on to screensharing page, no permission popup until I restarted firefox. Very weird, I hope this is not a regression and only a flakyness of my desktop right now.

Release notes are up.  A single telemetry bug, apparently.

@ofBorg test firefox firefox-esr-91


Use archive.org link

blackbunny.io has been down for over a year
Edit: The archive.org page rendering was broken in<PHONE_NUMBER>3614; but was fixed in the most recent archive<PHONE_NUMBER>0939.

Thanks!


fix: lower aggression of feed-item-row deep selector

fix: lower aggression of feed-item-row deep selector

Obligatory GIF (super important!)

:hammer_and_wrench: Type Of Change

These types will increment the version number on release:

[x] Fix

:book: Description
Made the deep selectors only apply to their target elements in feed-item-row.
Added new example for feed item pill within feed item row.
:bulb: Context
selectors were aggressively overriding child components due to high specificity causing the pill component to look like this:

:pencil: Checklist

For all PRs:

[x] I have ensured no private Dialpad links or info are in the code or pull request description (Dialtone is a public repo!).
[x] I have reviewed my changes.
[x] I have added all relevant documentation.
[x] I have considered the performance impact of my change.

Looks good, I would like to add more space to the bottom of the page to avoid jumping on expand., Thanks.

Good idea, added this.


contrib/terraform/aws: Tag instances and remove loadbalancer ip

Kubernetes now requires nodes and subnets to be properly tagged with kubernetes.io/cluster/$clustername to support multiple clusters in the same vpc / az.
This also removes the cunfusing and unneeded variable loadbalancer_apiserver_address

@mattymo please merge


Inference of the trained DetectNet always return zero confidence

I trained digits detectnet (digits is a docker in aws EC2) for 100 epoch, there is no error. However, when using trained caffe model to do inference, the confidence is always zero

I have the same problem, did you find a solution?

Not yet. But training and Inference on kitti is perfect
On Mon, Apr 30, 2018, 7:38 AM rafamrtq<EMAIL_ADDRESS>wrote:

I have the same problem, did you find a solution?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NVIDIA/DIGITS/issues/2037#issuecomment-385418026, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AMYyz0DFbmZ-xNpObjuUqLxjYcf1pElaks5ttyHTgaJpZM4TrJJT
.

I also meet this question , kitti is perfect , when I use coco-car data convert kitti data , there is none after inference


Provide timestamp of the last index run

Provide details on the last index run (issue #56)

Just wanted to add my 2 cents. I found this idea interesting and wanted something similar some time ago but resolved it differently. I modified the banner template to include a token which get updated by the process that invokes the SourceBrowser executable. However, instead of the date at which the process gets invoked or the HTML file generated, it's the timestamp of the latest commit I sync to. That time is a good representation of the "snapshot" being generated and takes into account new commits that get submitted while my process is running that aren't going to be included, and avoiding confusion.


feat: add c2d env selection

Fixes #376
Proposed Changes

select a compute environment made accessible through the provider of the dataset
calculate prices and fees based on the selected environment
pass the selected env to the provider on start compute

I added the Mumbai testnet and switched to the OPF Provider and Aquarius to be able to test with the new computeEnvironments data type, keep in mind that before merging we'll need to either update our own Provider or account for the old (and apparently not supported anymore) data structure.

Will have a more detailled look later, quick finding: the select currently does not switch for me (or at least gives no feedback)
https://github.com/deltaDAO/mvg-portal/assets/28757404/215c62b1-af86-406a-a4db-d5c85079b422

Yes, you are right, it got messed up when I refactored it to have the field in the JSON file. Should work properly now.


Camtube.co site support is not working now

Checklist

[x] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2019.06.08
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

C:\WINDOWS\system32>youtube-dl https://camtube.co/recording/w0wgirls-130619-1737-chaturbate-couple -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://camtube.co/recording/w0wgirls-130619-1737-chaturbate-couple', '-v']
[debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
[debug] youtube-dl version 2019.06.08
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17763
[debug] exe versions: none
[debug] Proxy map: {}
[CamTube] w0wgirls-130619-1737-chaturbate-couple: Downloading session token
[CamTube] w0wgirls-130619-1737-chaturbate-couple: Downloading JSON metadata
[debug] Default format spec: best/bestvideo+bestaudio
[debug] Invoking downloader on 'https://api.camtube.co/recordings/37a3b57d-6971-4763-b4c9-8f5f455bc616/manifest.m3u8'
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 156
[download] Destination: w0wgirls-130619-1737-chaturbate-couple-37a3b57d-6971-4763-b4c9-8f5f455bc616.mp4
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 1 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 2 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 3 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 4 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 5 of 10)...

ERROR: Interrupted by user

Description

WRITE DESCRIPTION HERE
I think it does not work now Camtube.co site support.

You must have paid account.

You must have paid account.

I bought a paid access and tried it with cookies, but it doesn't work at all. I will not remove any program to capture video: Internet Download Manager, TubeDigger, StreamTransport as well. I can give access login / password at the time of repair. In any case, even for free access (5 MB of video) youtube-dl does not work already.
youtube-dl https://camtube.co/recording/w0wgirls-130619-1737-chaturbate-couple --cookies "cookies.txt" -o "C:/Programs/%(title)s-%(id)s.%(ext)s"

@dstftw  I don't understand python. But it seems to me that there is no work at all in extractor ?

Wrong.

@dstftw  I don't mean working with the --cookies parameter, you can show the extractor where implemented, how to get cookies from the file

Implemented what? You don't need to get cookies from the file in extractor code in the first place.

@dstftw Where, then, is in the Kamtuba extractor, the 'if' condition, where you will either take the file from the --cookiesparameter or they will be obtained upon request, as now, there is a strict request for receiving NEW cookies, instead of taking everything from the file, it seems like this straightforward code:: token = self._download_json (
              '% s / rpc / session / new'% self._API_BASE, display_id,
              'Downloading session token') ['token']
Вообще можно писать на русском ? вы вроде бы русскоговорящий


proposal_convert.py

python3 projects/WSL/tools/proposal_convert.py voc_2007_train datasets/proposals/MCG-Pascal-Main_trainvaltest_2007-boxes datasets/proposals/mcg_voc_2007_train_d2.pkl
mat_data["boxes"]
the mat_data has no attribute of boxes??

I have re-generated the mcg proposals and did not find this problem.
You may need to check the proposal file.
It should contain the following keys:
dict_keys(['__header__', '__version__', '__globals__', 'boxes', 'scores'])


shouldn't use softmax

https://github.com/nfmcclure/tensorflow_cookbook/blob/master/09_Recurrent_Neural_Networks/02_Implementing_RNN_for_Spam_Prediction/02_implementing_rnn.py#L120
shouldn't use softmax  activation in output layer, when use sparse_softmax_cross_entropy_with_logits
refer:https://www.tensorflow.org/api_docs/python/tf/nn/sparse_softmax_cross_entropy_with_logits

Hi @hongguangguo ,  Thanks, This has been fixed (in two files). Please reopen if you find this occurring anywhere else.


Missed border while rowspan in bordered small nz-table

This template:
<nz-table nzBordered nzSize="small">

    colspan
    rowspan

    th
    th

</nz-table>

Will appear as:

It can be fixed by class for "bad" , but maybe need to be fixed. Think it's not a rarest table usage case

Fixed in 8.*


Unable to get Lua.workspace.library working consistently.

    "Lua.workspace.library": {
        "C:/folder/to/api": true,
    },

I created a new workspace and tried it in VScode Settings.json, .code-workspace, and .vscode/settings.json and is just doesn't want to load the lib.
But when i copy the lib into my workspace it does work instantly.

It loads libs in the workspace just fine but when a full-path is used, it doesn't.
e.g. this works fine:
"Lua.workspace.library": {
    "foo": true,
}

But this does not:
"Lua.workspace.library": {
    "C:/foo": true,
}


fix typo in nightwatch cmd

This fixes a typo that was causing nightwatch to fall over.

@joshvince thank you very much for this. Must have missed it when #17 was merged.


Fix route generation of article

This fix is also in my PR : https://github.com/EnMarche/en-marche.fr/pull/1684


AnimationController action end up at duration time, fixes #6145

Issue #6145 describe the edge case where action (queued animation) was not removed when just finished.
The extra update is not necessary with zero delta time in this case.
@asu-talk thank you a lot for your test case, i rewrote it as a JUnit.

Hi @mgsx-dev,
Currently I am running the tests/gdx-tests/src/com/badlogic/gdx/tests/g3d/Animation3DTest.java and it seems this PR has broken the test.
Before the change you can press "Space" and the attack animation is triggered animation.action("Attack", 1, 1f, null, 0.2f) and performed quite well, however, after the change the unit does some awkward move and that's all - obviously, it does not work as expected now.
Could you, please, investigate it a bit more?

Hi @JackRainy, thank you very much for this information, you're right, my fix introduced a regression, sorry about that. PR #6303 should both fix the issue you mentioned and the original one.


The language is jvm, not java.

Failing run: https://github.com/open-feature/java-sdk/actions/runs/3551397639/jobs/5965541188

Codecov Report

Merging #184 (3de1696) into main (c3e2de7) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main     #184   +/-   ##
=========================================
  Coverage     91.60%   91.60%
  Complexity      187      187
=========================================
  Files            20       20
  Lines           417      417
  Branches         22       22
=========================================
  Hits            382      382
  Misses           23       23
  Partials         12       12

Flag
Coverage Δ

unittests
91.60% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


TypeError: o.withProps is not a function

Hi,
I've tried to spin up your project. Dev runs fine, however, when I build the project and try to run it, I get the following error:
TypeError: o.withProps is not a function
Do you know what is wrong?

@sandervspl - awesome! 👍

This is now fixed in v2.


Update shallowObjectDiff

When changing custom validations, adding/removing functions will not trigger a re-calculation of the validators.
I modified the shallowObjectDiff method to also take into account the addition/removal of new functions, instead of just plainly ignoring them.
This is a breaking issue for me at this time.

This change is not enough as new custom vailidations are not even added to the list of validations. Needs more changes to make it tight.


Incompatible for typeahead v0.11.1

Looks like they changed the class names from .tt-dropdown-menu to .tt-menu. Replacing just this one in the less file makes it work with latest version.

It seems to have been fixed by 324628d5c2dffe347091d097efbaaaab79ceeddc


Updates to Nginx Config

This:

Resolve the change in behavior from 1.6.2 -> 1.8 with nginx alias
Switch to use nodejs instead of npm in the package manager (which resolves an issue with apt-get versions)
Move SSL cert handling into Ansible
Handle another case of service restart nginx not returning a nonzero return code
Redirect commtrack traffic to commcarehq

@dannyroberts @czue

:+1: after root question is answered

@czue This should be ready to go now.


[BEAM-115] WIP: JSON Schema definition of pipeline

This is a json-schema sketch of the concrete schema from the Pipeline Runner API proposal document. Because our serialization tech discussion seemed to favor JSON on the front end and Proto on the backend, I made this quick port. The original Avro IDL definition is also on a branch with a test.
Notes & Caveats:

I did not try to flesh out any more details; this was a straight port. There's plenty to add, but a PR seems like a place that will attract a desired kind of concrete discussion even in the current state.
Typing this makes my hands hurt. Luckily, it should change exceedingly rarely. There are many libraries that can generate json-schema in various ways, including Jackson itself, but I'm not so sure any of them are applicable.
Reading this makes my eyes hurt. This is a real problem. We need a readable spec, not just a test suite for validation.
I am not so sure that the schema library I've used to build my smoke test is a good long term choice. I chose it because it was Jackson-based.
I've left comments in the JSON even though that is frowned upon, and taken advantage of Jackson's feature to allow them. They can also go into "description" fields.
Perhaps we could write YAML and convert to json-schema with no loss of precision?

Feel free to leave comments here about the schema or meta issues of e.g. where the schema should live and what libraries we might want to use.

@aaltay ping for Python feedback. Its quite a rough WIP.

Closing for a bit.

This is superseded by #1946 which ports the schema to proto and updates it.


Add PerInstance field to Port, Addresses to Instance

New:

add PerInstance (bool) to Port, which allows each Instance of a
Component to have its own ServiceSet (external/internal K8S services,
and Entrypoints)
add Addresses (readonly) field to Instance to display addresses for
each per_instance Port

Breaking:

rename ComponentAddresses to Addresses (does not affect API)

Once merged, this will be 0.7.0.

Coverage decreased (-0.09%) to 26.275% when pulling 4217afa1495fb3fc4faa33053c22b2a49ae11a6f on port_per_instance into 56360a548968b3cba6a23a37d5073837e86459d1 on master.


[k8s-configuration] Update extension CLI to v2.1.0

This checklist is used to make sure that common guidelines for a pull request are followed.
Related command

General Guidelines

[ ] Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
[ ] Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)
[ ] My extension version conforms to the Extension version schema

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

Thank you for your contribution! We will review the pull request and get back to you soon.

Could you please add some test cases for this new feature?

Could you please add some test cases for this new feature?

We have set up live tests in our forked repository as a continuous integration (CI) check and have included tests for this new parameter. All the tests in the file linked below pertain to the changes in this pull request:
https://github.com/AzureArcForKubernetes/k8s-configuration/blob/main/testing/test/configurations/FluxKustomization.Wait.Tests.ps1
As the code owners of this extension CLI, we mandate that all changes be first made in our forked repository to ensure they undergo our comprehensive test suite

/azp run

/azp run

/azp run


chore: add pool.Pooler interface to pgbouncer/metricsserver

This patch removes the use of the pool.ConnectionPool struct inside the pgbouncer/metricsserver package.
It substitutes the struct with the pool.Pooler interface and it also adds a basic unit test coverage to the package.
Partially Closes #2358

/test

/ok-to-merge


Feature: Native GeoJSON copy/table function

We already have a lot of experience using yyjson in the json extension, we should be able to port a subset of the functionality from that extension to write a GeoJSON parser. Since we know we're working with a fixed-schema I expect a lot of the complexity can be cut.

Is it worth rejecting formats that aren't currently supported? It's not till I try and select from this dataset that I get an exception.
$ /Volumes/Seagate/duckdb_spatial/build/debug/duckdb -unsigned test.duckdb

LOAD '/Volumes/Seagate/duckdb_spatial/build/debug/extension/spatial/spatial.duckdb_extension';

CREATE TABLE test_geojson AS
SELECT *
FROM st_read('/Volumes/Seagate/open5g_data/Estonia/h3_counts.geojson');

Warning 1: Non closed ring detected. To avoid accepting it, set the OGR_GEOMETRY_ACCEPT_UNCLOSED_RING configuration option to NO
Warning 1: Non closed ring detected. To avoid accepting it, set the OGR_GEOMETRY_ACCEPT_UNCLOSED_RING configuration option to NO
Warning 1: Non closed ring detected. To avoid accepting it, set the OGR_GEOMETRY_ACCEPT_UNCLOSED_RING configuration option to NO
...

.schema
CREATE TABLE test_geojson(sample_cnt VARCHAR, wkb_geometry WKB_BLOB);;

select * from test_geojson;

libc++abi: terminating with uncaught exception of type duckdb::InvalidInputException: Invalid Input Error: Could not read WKB
Abort trap: 6

GeoJSON should be supported, seems like you need to pass some option? Could you provide me with an excerpt of the dataset?

Also, I was not aware that invalidinput terminates the process. Ill look into switching to another exception type that produces an error instead.

Rename this to h3_counts.geojson. GitHub wouldn't allow a .geojson file to be uploaded to a comment.
h3_counts.txt

Alright, it looks like your geojson is invalid, according to the geojson spec 3.1.6.

Polygon
To specify a constraint specific to Polygons, it is useful to introduce the concept of a linear ring:
A linear ring is a closed LineString with four or more positions.
The first and last positions are equivalent, and they MUST contain identical values; their representation SHOULD also be identical.

We should throw an error for this earlier, basically as soon as GDAL warns us. We could also look into adding an option where we use GEOS to try to validate and fix input geometries, although that's probably going to be much slower.

That GeoJSON came out of the H3 Python library. Is there a chance something like the above could be treated as valid? It'll load in QGIS without issue.
This is how I built it: https://tech.marksblogg.com/making-heatmaps-python-qgis.html#building-geojson

The issue is that GEOS, which we currently use for printing WKT, doesn't accept it. But in general we should allow storing invalid geometries that you then can validate/cleanup with something like ST_IsValid/ST_MakeValid. Once we get #11 we should be able to at least not error out. For what it's worth, if you can avoid printing the geometry you can still probably operate on it, e.g. SELECT ST_Area(ST_GeomFromWKB(wkb_geometry)) FROM st_read('h3_counts.geojson'); works for me. Although I would be careful as some operations will probably produce garbage if they assume the geometry is valid, like spatial predicates.

Not sure if this is the correct issue thread to bring this up, but could ST_GeomFromGeoJSON,  or JSON geometry fragments could be added to the function request list ?

Sure, ill put it in the backlog!

When I load data into BQ, if there is anything about the geometry that BQ doesn't like (see #73), it'll reject the whole upload. I have a workaround where PostGIS convert the data into GeoJSON, uploads it as a STRING and then uses BQ's make_valid functionality, which appears to be much more advanced than anything in GEOS or otherwise seen in the open source world, to convert the geometry into a GEOGRAPHY data type.
The above works in PostGIS but I'd love to be able to port this to DuckDB as it seems to be at least 4x faster on every workload I've moved over from PostGIS so far.

Individual geojon fragments can be read since #91

So we're probably not going to work on this further.

You can use the GDAL geojson driver to read both geojson and newline-delimited geojson
Or you can use the DuckDB json extension the read the main part of the geojson, and then use the ST_GeomFromGeoJSON functions to convert the feature geometry fragments into a geometry column.

Replicating the full on schema inference functionality already present in the json extension would be too much redundant work.


[APIM] Add changes to provide support for building the API manager product with JDK 17

[DO NOT MERGE UNTIL RELEASING AND BUMP THE VERSIONS OF]
carbon.p2.plugin,
axis2,
orbit version of:
abdera,
axiom,
commons-text,
commons.beanutils,
commons.io,
tomcat,
hazelcast,
commons.fileupload,
encoder,
csrfguard,
httpcomponents-httpclient
Purpose
To make the necessary changes to provide support for building the API manager product with JDK 17.
Goal
Fixes: https://github.com/wso2/api-manager/issues/2943

The task is being closed for now as it is on hold until we decide to start it again.


service?

How to create a service?
apiVersion: "nats.io/v1alpha2"
kind: "NatsCluster"
metadata:
  name: "cryptovalue-nats"
spec:
  size: 3
  version: "1.1.0"

Just apply via kubectl and then you would get a cryptovalue-nats service to which pods can connect (e.g. nats.Connect("nats://cryptovalue-nats:4222"))
echo '
apiVersion: "nats.io/v1alpha2"
kind: "NatsCluster"
metadata:
  name: "cryptovalue-nats"
spec:
  size: 3
  version: "1.1.0"
' | kubectl apply -f -

How do I connect from outside the cluster (for development)?

You need a configured .kube/config setup locally to authenticate with kubernetes first, check out the dev section on the readme
https://github.com/nats-io/nats-operator/blob/master/README.md#running-outside-the-cluster-for-debugging

Thanks for the answer @wallyqs
My question was to unspecific. I wanted to connect to nats-cluster, not the nats-operator. And I didn't want to debug/develop nats-operator but rather a nats-enabled application. But I think I got a solution:
kubectl port-forward ${CLUSTER_NAME}-1 4222:4222

The hard thing was to find out the name of the pods. Maybe this one-liner in the README would also help others.

@MichaelSp sounds good, feel free to make PR or I can update tomorrow. thanks for the feedback


fix clipboard module

previously it returned a string array instead of the clipboard functions:

Fixed this a slightly different way before I saw this but thanks for the PR


Blync test.

Blync Deploy!
The following files were not deployed

courses/ruby-primer/01-level-getting-started/01-variables/body.md - Failed to parse meta data hash, please check for syntax errors.

Blync Deploy!
The following files were not deployed

courses/ruby-primer/01-level-getting-started/01-variables/body.md - Failed to parse meta data hash, please check for syntax errors.
courses/ruby-primer/01-level-getting-started/01-variables/instructions.md - Failed to parse meta data hash, please check for syntax errors.


fix: add org_id attribute to provider configuration

Description of your changes
Fixes #23
I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested
Built it locally and created a folder with this providerconfig secret:
{
  "auth": "admin:superSecret",
  "url": "https://<mygrafanaurl>/",
  "org_id": "8"
}

Before the change the folder was always created in the main org. After my change it is created in the org with id 8.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

org_id will be deprecated as a provider-level option eventually but it doesn't hurt to add it in the meantime


Upgrade documentation to use typedoc 0.24.8

We should update typedoc and use this update as an excuse refactor the documentation page to take full advantage of RSC. When upgrading typedoc the website stops working because it tries to access fs from a client component, this is bad but we can use it to guide us through the refactor.
At the moment, because we use too many hooks to compute stuff like remarks, deprecation, etc, the entire page is a client component (green box in the screenshot).
The plan is to refactor aggressively and make only the code blocks and interactive area client components, leaving the rest a RSC (no use client directive)(pink boxes in the image).

I will be on it.

done in #290


Smoke Test + CI rework

📝 Description
This PR brings a few things;
First of all, we've tagged the playwright specs to have a lighter test suites in PR
On CI, we've changed the way e2e tests are run.
Now:

Smoke tests are run on each PR
Full tests are run on push on main|develop|hotfix|release
Possible to run full test manually on a PR
Fails on full suite will be reported to slack

❓ Context

Impacted projects: Tests, CI Workflow
Linked resource(s): https://ledgerhq.atlassian.net/browse/LIVE-7748

✅ Checklist

[x] Test coverage
[x] Atomic delivery
[x] No breaking changes

📸 Demo
N/A
🚀 Expectations to reach
When PR is in draft, only a subset of tests should be executed, if PR is open then we run all the tests.

/generate-screenshots

Just to add something we should keep and eye on: let's make sure that the feedback loop doesn't become too long or frustrating - there's a danger we merge things that break non-linux, non-critical tests that then need fixed at a later date (meaning context switching for devs and lost time when we could have fixed something before a PR merge).

/generate-screenshots


chore: add missing yarn lock file

Description
Remove yarn.lock from gitignore.
Checklist
All checkboxes must be checked before this PR can be reviewed.

[ ] Have you tested your feature/bug for responsive layout?
[ ] Have you tested your feature/bug in multiple browsers/devices via BrowserStack?
[ ] Has this PR been pulled and tested by someone other than yourself?

Closes
Closes #7

Codecov Report

Merging #8 (d53c433) into main (8cd93d0) will not change coverage.
The diff coverage is n/a.

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

@@           Coverage Diff           @@
##             main       #8   +/-   ##
=======================================
  Coverage   81.70%   81.70%
=======================================
  Files           7        7
  Lines          82       82
  Branches       18       18
=======================================
  Hits           67       67
  Misses         10       10
  Partials        5        5


Added support for Flux 0.14.

Added support for Flux 0.14.
Progress bars now display appropriately in both terminal and Pluto.
Moved to Julia 1.9.
Released version 0.3.0

Codecov Report

Merging #16 (2905f55) into main (24cc037) will increase coverage by 2.50%.
The diff coverage is 80.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main      #16      +/-   ##
==========================================
+ Coverage   54.34%   56.84%   +2.50%
==========================================
  Files           5        6       +1
  Lines         138      146       +8
==========================================
+ Hits           75       83       +8
  Misses         63       63

Impacted Files
Coverage Δ

src/MixtureDensityNetworks.jl
100.00% <ø> (ø)

src/mlj_interface.jl
46.42% <50.00%> (ø)

src/native_interface.jl
77.14% <83.33%> (+4.72%)
:arrow_up:

src/model.jl
87.50% <100.00%> (+0.83%)
:arrow_up:


use semantic segmentation for inference on a new dataset without labels

How can we do the inference for semantic segmentation task on a new dataset without annotation?
Does the same test() function in main_semseg.py with eval=True is enough for inference? Because the evaluation needs the label anyway.

I think you can remove the prediction evaluation part of the code. Just only output the prediction results.

Thank you Antao. Can you be more specific? Do you mean in def test()  remove this section seg_pred = model(data) and lines related to pred ?
But before that when we read the data here test_loader = DataLoader(S3DIS(partition='test', ..., it expects labels, should I change the code to skip the label as input? Then where the inferred labels are stored?

seg_pred = model(data) is the prediction results, not dataset labels.
I mean you can skip all label-related parts.


don't link to deprecated function

Seems misleading to (without qualification) link to a deprecated function
What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Please review http://spark.apache.org/contributing.html before opening a pull request.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

@felixcheung I disagree... what's the point of deprecation if it's going to keep being considered as a co-equal function in the eyes of documentation?
If the function is being deprecated, it should be "soft-blacklisted" -- documentation still available (but clearly marked) for users of "legacy" code where its usage still survives, but I don't see any argument for even letting new users find out a deprecated function exists.

I don’t feel strongly either way.
I do think this is very minor since there are still many other ways to the doc page for createExternalTable (eg the index page) or via ? search within R etc. I am not sure how much difference this would make and we have already a) code spewing out warning when called b) clearly documented as Deprecated on the doc page title.
Should you find other deprecation that is not documentation we should be gladly having your help
to document it.

@felixcheung thanks for the feedback, yes, I axed registerTempTable from the SparkDataFrame @family`.
Sorry I botched an attempt to try and rename the branch of this PR (apparently not possible to overwrite this PR with a new branch name); PR re-filed as #22393


Remove vs code settings

Remove VS Code settings file and add it to gitignore
Always after checking out I need to fix my VS Code settings. I think we should not have "project specific" settings in the
repo. The settings contain an Icon set that I do not have. The font size of 22 is also super large as I do not have a 4K monitor.

Agree with you. I'm used to pushing VSCode settings because I've never had collaborators

@Rossi1337 can we remove the branch?


feat: Add aarch64-apple-darwin support

Resolves #133. cc @ashleygwilliams @Gankra
cargo-dist is now compiled for and also can be used to package other packages for aarch64-apple-darwin (M1/M2 chips)
I have tested this patch in a personal fork, here is the release: https://github.com/frol/cargo-dist/releases. Also, I have manually patched the CI scripts for my near-social CLI, and it worked like a charm (see that it now has aarch64-apple-darwin binary artifact), so I went ahead with creating this patch.
P.S. The release.yml file in main branch has a mix of CRLF and LF line endings. My guess is that git checks out ci.yml template with CRLF on Windows and then cargo-dist code generates some multiline strings with \n (push_github_artifacts_matrix_entry)

@Gankra I was also trying to understand the reasoning behind distribute_targets_to_runners. Having parallel compilation (through having a matrix group per build) is faster, and easier to reason about and debug, so there must be something behind this complication; what is that?

Doing a quick skim before I look at this properly tomorrow morning: this seems like a reasonable minimal approach, although I had been mentally planning for this to look more like:

teach cargo-dist to detect that you had "extra" tools like rustup/cross/strip/lipo/whatever (once in gather work, similar to makefile configure steps)
if we find rustup, handle getting the toolchain installed for the user (I don't think we even need to bother asking for something as unobtrusive as a toolchain)

This would leave the CI untouched while also making local (non-CI) macos builds work better as well. Although the other platforms would however need to pull up a proper "cross-compile" core (#74).

this seems like a reasonable minimal approach

Yes, this was exactly the goal of this PR, and I feel it solves the immediate pain point (#133) well without introducing complexity or diverging in a direction that will be hard to solve when a full-scale solution for cross-compilation will be developed.
M1/M2 Macbooks are quite popular among developers these days, and I would either need to come up with some clever logic in the installer that would pull x86_64 binary when aarch64 artifact is missing, or I could just build my CLI for aarch64-apple-darwin; the latter turned out to be quite a straightforward thing to do.

I'm adding this as a tentative candidate for 0.0.3 which I'm going to cut in a couple days. If I find the bandwidth to do the Ideal solution I'll opt for that.
My main concern is that the Ideal solution will restore the CI to its current state, so anyone who makes changes to their CI will have an extra round of otherwise-avoidable CI churn with this quick fix.

@Gankra Sorry, I don't see where you are heading. The changes to CI script are minimal and the current diff is weird since the original file had a mix of CRLF line endings and now it is completely CRLF (I feel it is a separate issue to address). Change the diff view to skip the whitespace changes to see the actual change.
- dist-args: --artifacts=local --target=x86_64-apple-darwin
+ dist-args: --artifacts=local --target=aarch64-apple-darwin --target=x86_64-apple-darwin

This is what essentially got changed, and I feel it is unavoidable unless you suggest cargo-dist should guess all the supported platforms and cross-compile to everything supported by default.

Ugh I guess I didn't properly fix #131 :(
But yes there will be some churn on CI as we refine things. There's definitely going to be a huge churn for 0.0.3 already, and that cost is already accepted. The question is after 0.0.3, when we ostensibly introduce the Ideal Solution.

if we don't accept this change then when we introduce the Ideal Solution, any users who adopt it will get that one line diff you noted -- not as likely to conflict, and easy to fix if it does.
if we do accept this change then users will essentially have to revert all the CI changes this PR makes, notably removing "targets" lines and the lines that configure rustup. this will be a lot more likely to conflict, and might mess up anyone who thought they could/should rely on "targets" being in the matrix.

It's not a big deal at all, I'm just noting the only real downside of accepting this PR.
(I have been pondering making the first task actually generating the matrix so there would be no churn even for the Ideal solution but that's a bigger change and makes it harder for users to configure anything...)

I believe the lines that setup rustup will inevitably get changed with the introduction of cross-compilation unless you want to go Zig-lang route and package cross-compilation toolkits for all the platforms or install Docker for users.
I may think of some way to avoid targets in the matrix if you don't want to give people a chance to depend on it, but so far I can only think of ugly hacks

We discussed this and 0.0.3 is too big already for us to be poking this feature too. I'm pushing this back to 0.0.4 which optimistically is "next week".

I implemented my version in https://github.com/axodotdev/cargo-dist/pull/172, which was indeed thankfully straight-forward with my refactor done :)
This prerelease has it: https://github.com/axodotdev/cargo-dist/releases/tag/v0.0.4-prerelease.2


PYPE-1218 - changed namespace to contain subset name in Maya

Closes https://app.clickup.com/t/6658547/PYPE-1218
(Testing use case: loaded from Hero asset 2x modelLOD1 subset, 1x modelMain)
Existing situation:

Newly implemented:

Not sure about names at the top of newly implemented (namespace contains subset + subset again)

Hmmm, does namespace also get's updated if the subset is being switched ?


Make core a test-only dependency

It is a bit heavy dependency for how little of core is used in my opinion.

I discovered that the re2 dependency pulls in core as well. I may look at replacing re2 with re.

Superseded by no-core branch, closed


Spelling error

#/demos/sl-date-picker
clearBtn property - the bolded word below is misspelled

If autoclose is also set te true, this button will also close the datepicker.

@notmessenger taking this.


chore: remove superscript from my collection

The type of this PR is: chore

This PR resolves https://artsy.slack.com/archives/C01B2P6LJUU/p1632758937021000?thread_ts=1632746772.008900&cid=C01B2P6LJUU
Description

Remove superscript from my collection

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have tested my changes on iOS and Android.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a changelog entry below or my changes do not require one.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Remove superscript from my collection - mounir

Android user-facing changes

Dev changes

This PR contains the following changes:

iOS user-facing changes (Remove superscript from my collection - mounir)

  Generated by :no_entry_sign: dangerJS against ccfc49d9b7e9c4022e69a54a7107719118ab7dc0


Remove comments in extern

Describe the bug
rustfmt removes comments in extern. This seems to be introduced since v1.4.26. I found this in clippy CI https://github.com/rust-lang/rust-clippy/pull/6336/checks?check_run_id=1404315427 in PR https://github.com/rust-lang/rust-clippy/pull/6336.
To Reproduce
$ cd rust-clippy
$ path/to/rustfmt/target/debug/rustfmt/target/debug/rustfmt tests/ui/cast_ref_to_mut.rs --check
Diff in /Users/tnakata/workspace/rust-clippy/tests/ui/cast_ref_to_mut.rs at line 2:
 #![allow(clippy::no_effect)]

 extern "C" {
-    // N.B., mutability can be easily incorrect in FFI calls -- as
-    // in C, the default is mutable pointers.
     fn ffi(c: *mut u8);
     fn int_ffi(c: *mut i32);
 }

Expected behavior
not to remove comments
Meta

rustfmt version:

$ target/debug/rustfmt -V
rustfmt 1.4.26-nightly (293d7d01 2020-11-14)

From where did you install rustfmt?:

$ cd rustfmt
$ git checkout refs/tags/v1.4.26
$ CFG_RELEASE=1.45.0-nightly CFG_RELEASE_CHANNEL=nightly cargo build
$ target/debug/rustfmt -V
rustfmt 1.4.26-nightly (293d7d01 2020-11-14)

How do you run rustfmt:

$ cd rust-clippy
$ path/to/rustfmt/target/debug/rustfmt/target/debug/rustfmt tests/ui/cast_ref_to_mut.rs --check
Diff in /Users/tnakata/workspace/rust-clippy/tests/ui/cast_ref_to_mut.rs at line 2:
 #![allow(clippy::no_effect)]

 extern "C" {
-    // N.B., mutability can be easily incorrect in FFI calls -- as
-    // in C, the default is mutable pointers.
     fn ffi(c: *mut u8);
     fn int_ffi(c: *mut i32);
 }

Thanks for the report @giraffate, see the problem and will try to get the fix out to nightly ASAP

It only remove multi line comments. Single line comments are preserved.

It only remove multi line comments. Single line comments are preserved.

Not true.

Closing as this is resolved in v1.4.27 available in the latest nightly (2020-11-18)


Create Contribute.md

Added steps to create a virtual environment and to activate it.

Hi @Ashwin95525 ,
Kindly add the steps to activate the env in the given CONTRIBUTING.md, no need to make a new file
Thanks

@varun10sudhir Sure I will do that. So I should just edit the contribute.md file and directly commit it right? without making a new branch and creating a new pull request?

Hi @Ashwin95525 ,
Yes no need to make a new branch or PR
You can continue working on this branch and make your changes
Thanks

@varun10sudhir Thank you for the clarification. As said I made the changes in the contribute.md file- Steps to create a virtual environment and to activate it


Add tree view to GUI

User should be able to categorize their mods! Thats why we need a tree viewer for mods, with customizable categories
// Treeviewer structure
cacowards18/
  ...mods that are cacoward winners 2018
iceberg/
  ...mods from that funny iceberg mod image
  completed/
    ... mods that are completed
idgames/
  ...mods that are downloaded can default here
  random/
     ...random idgames mods can default here
imported/
  ...imported mods can default here

The limit is the users imagination!
Implementation details

Button to view it (below table viewer pushbutton)
Add WadTree to StackedWidget
Need some sort of underlying recursive tree data structure

Underlying data structure should be in it's own file.
Underlying data structure should go by ID.

This means that all mods need an ID in their metadata.json folder, this MUST be fixed

Items in treeview should be dragdroppable, very important.

When items are dragdropped around, the underlying data structure must save immediately

How to add a new Node/category? Right click contextmenu?

Categories is it's own model
Right click create category
contextmenu tree-view specific for now, need a generalized approach later on


Need to change the Message Expiry time

The Message Queued page in the Articles says ..."After 48 hours the message expire". This information is not correct, it should be 24 hours. However I do not have any screenshot available to share with you.

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks

@arindamthokder

@JohanFreelancer9

I don't understand the request for a new screenshot of the widget. I just checked and the current widget looks exactly like the screenshot in the topic.