Compiler aborts on LLVM assert revisited

Context
#1546 documented the issue with a compiler bug affecting handling of tuples.
Commit b89925f3f5962c3eba0e1794159a9a95ccd68b0d was merged to address this (see #1557). However, unfortunately this seems to only partially address the issue. Compilation of the code snippet still an aborts via gentrace.c but now on line 498 rather than on line 486.
Code Snippet
  1 primitive X
  2 primitive Y
  3
  4 actor T        // an actor type triggers the compiler bug
  5 // class val T // a class type triggers the compiler bug
  6 // primitive T // a primitive type does _not_ trigger the compiler bug
  7
  8 actor Main
  9
 10   new create(env: Env) =>
 11     this((T,Y))
 12
 13   be apply(m: (X | (T,Y)) ) =>
 14     None

LLDB Session
0 10:05 stewart@icecube:~/opt/pony/bugs/tupleunioncall$ ~/opt/pony/bleed/build/debug/ponyc --version
0.10.0-b89925f [debug]
compiled with: llvm 3.9.1 -- cc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
0 10:05 stewart@icecube:~/opt/pony/bugs/tupleunioncall$ lldb -o run -- ~/opt/pony/bleed/build/debug/ponyc
(lldb) target create "/home/stewart/opt/pony/bleed/build/debug/ponyc"
Current executable set to '/home/stewart/opt/pony/bleed/build/debug/ponyc' (x86_64).
(lldb) run
Building builtin -> /home/stewart/opt/pony/bleed/packages/builtin
Building . -> /home/stewart/opt/pony/bugs/tupleunioncall
Generating
 Reachability
 Selector painting
 Data prototypes
 Data types
 Function prototypes
 Functions
ponyc: /home/stewart/opt/pony/llvm/llvm-3.9.1.src/include/llvm/IR/Instructions.h:822: llvm::Type* llvm::checkGEPType(llvm::Type*): Assertion `Ty && "Invalid GetElementPtrInst indices for type!"' failed.
Process 9020 stopped
* thread #1: tid = 9020, 0x00007ffff693e428 libc.so.6`__GI_raise(sig=6) + 56 at raise.c:54, name = 'ponyc', stop reason = signal SIGABRT
    frame #0: 0x00007ffff693e428 libc.so.6`__GI_raise(sig=6) + 56 at raise.c:54

Process 9020 launched: '/home/stewart/opt/pony/bleed/build/debug/ponyc' (x86_64)
(lldb) bt
* thread #1: tid = 9020, 0x00007ffff693e428 libc.so.6`__GI_raise(sig=6) + 56 at raise.c:54, name = 'ponyc', stop reason = signal SIGABRT
  * frame #0: 0x00007ffff693e428 libc.so.6`__GI_raise(sig=6) + 56 at raise.c:54
    frame #1: 0x00007ffff694002a libc.so.6`__GI_abort + 362 at abort.c:89
    frame #2: 0x00007ffff6936bd7 libc.so.6`__assert_fail_base(fmt="", assertion=<unavailable>, file=<unavailable>, line=<unavailable>, function=<unavailable>) + 279 at assert.c:92
    frame #3: 0x00007ffff6936c82 libc.so.6`__GI___assert_fail(assertion=<unavailable>, file=<unavailable>, line=<unavailable>, function=<unavailable>) + 66 at assert.c:101
    frame #4: 0x000000000053aff0 ponyc`llvm::checkGEPType(Ty=0x0000000000000000) + 50 at Instructions.h:822
    frame #5: 0x00000000007c59e3 ponyc`llvm::ExtractValueInst::ExtractValueInst(this=0x0000000004a5c6f8, Agg=0x0000000004a5c3b8, Idxs=ArrayRef<unsigned int> @ 0x00007fffffffd650, NameStr=0x00007fffffffd730, InsertBefore=0x0000000000000000) + 77 at Instructions.h:2320
    frame #6: 0x00000000007c5978 ponyc`llvm::ExtractValueInst::Create(Agg=0x0000000004a5c3b8, Idxs=ArrayRef<unsigned int> @ 0x00007fffffffd690, NameStr=0x00007fffffffd730, InsertBefore=0x0000000000000000) + 122 at Instructions.h:2262
    frame #7: 0x00000000007c734c ponyc`llvm::IRBuilder<llvm::ConstantFolder, llvm::IRBuilderDefaultInserter>::CreateExtractValue(this=0x00000000049f54f0, Agg=0x0000000004a5c3b8, Idxs=ArrayRef<unsigned int> @ 0x00007fffffffd700, Name=0x00007fffffffd790) + 170 at IRBuilder.h:1642
    frame #8: 0x00000000024230f0 ponyc`::LLVMBuildExtractValue(B=0x00000000049f54f0, AggVal=0x0000000004a5c3b8, Index=0, Name="") + 136 at Core.cpp:3039
    frame #9: 0x000000000049f6ee ponyc`trace_tuple(c=0x00007fffffffddc0, ctx=0x0000000004a5a5e8, value=0x0000000004a5c3b8, src_type=0x00007ffff1edef80, dst_type=0x00007ffff1ec5c80) + 311 at gentrace.c:498
    frame #10: 0x00000000004a0503 ponyc`gentrace(c=0x00007fffffffddc0, ctx=0x0000000004a5a5e8, value=0x0000000004a5c3b8, src_type=0x00007ffff1edef80, dst_type=0x00007ffff1ec5c80) + 674 at gentrace.c:902
    frame #11: 0x000000000049c808 ponyc`gen_send_message(c=0x00007fffffffddc0, m=0x00007ffff1ebb300, args=0x00007ffff1b53900, args_ast=0x00007ffff1edef00) + 814 at gencall.c:410
    frame #12: 0x000000000049d457 ponyc`gen_call(c=0x00007fffffffddc0, ast=0x00007ffff1ee1900) + 2314 at gencall.c:702
    frame #13: 0x00000000004a334e ponyc`gen_expr(c=0x00007fffffffddc0, ast=0x00007ffff1ee1900) + 434 at genexpr.c:80
    frame #14: 0x00000000004c5093 ponyc`gen_seq(c=0x00007fffffffddc0, ast=0x00007ffff1edd480) + 78 at gencontrol.c:21
    frame #15: 0x00000000004a320d ponyc`gen_expr(c=0x00007fffffffddc0, ast=0x00007ffff1edd480) + 113 at genexpr.c:25
    frame #16: 0x000000000049a104 ponyc`genfun_newbe(c=0x00007fffffffddc0, t=0x00007ffff651da00, m=0x00007ffff649bc00) + 356 at genfun.c:419
    frame #17: 0x000000000049ab7d ponyc`genfun_method_bodies(c=0x00007fffffffddc0, t=0x00007ffff651da00) + 231 at genfun.c:692
    frame #18: 0x000000000049887d ponyc`gentypes(c=0x00007fffffffddc0) + 935 at gentype.c:790
    frame #19: 0x000000000043c984 ponyc`genexe(c=0x00007fffffffddc0, program=0x00007ffff68f8000) + 527 at genexe.c:392
    frame #20: 0x000000000042fdf6 ponyc`codegen(program=0x00007ffff68f8000, opt=0x00007fffffffe220) + 290 at codegen.c:921
    frame #21: 0x000000000042b4f7 ponyc`generate_passes(program=0x00007ffff68f8000, options=0x00007fffffffe220) + 53 at pass.c:291
    frame #22: 0x000000000040e4e8 ponyc`compile_package(path=".", opt=0x00007fffffffe220, print_program_ast=false, print_package_ast=false) + 147 at main.c:244
    frame #23: 0x000000000040e940 ponyc`main(argc=1, argv=0x00007fffffffe388) + 1091 at main.c:366
    frame #24: 0x00007ffff6929830 libc.so.6`__libc_start_main(main=(ponyc`main at main.c:250), argc=1, argv=0x00007fffffffe388, init=<unavailable>, fini=<unavailable>, rtld_fini=<unavailable>, stack_end=0x00007fffffffe378) + 240 at libc-start.c:291
    frame #25: 0x000000000040e2f9 ponyc`_start + 41
(lldb) frame select 9
frame #9: 0x000000000049f6ee ponyc`trace_tuple(c=0x00007fffffffddc0, ctx=0x0000000004a5a5e8, value=0x0000000004a5c3b8, src_type=0x00007ffff1edef80, dst_type=0x00007ffff1ec5c80) + 311 at gentrace.c:498
   495      while(src_child != NULL)
   496      {
   497        // Extract each element and trace it.
-> 498        LLVMValueRef elem = LLVMBuildExtractValue(c->builder, value, i, "");
   499        gentrace(c, ctx, elem, src_child, NULL);
   500        i++;
   501        src_child = ast_sibling(src_child);
(lldb)

@Praetonus - can you take another look?

The problem is that the compiler is trying to trace a boxed tuple as an unboxed tuple, which can't work.

My knowledge of compiler phases it a bit sketchy, so purely for my own interest and understanding I was wondering if you would be able to give me a little bit more insight into what gentrace.c and the tracing functions are doing (or even just some pointers to articles that would be applicable).
Thanks in advance, Stewart.

Sure.
The functions in gentrace.c are generating the code executed when doing the GC tracing of objects. This applies to both objects traced when sending/receiving messages and reachable objects traced during the GC mark phase.
To trace objects in the most efficient way possible when sending a message, we try to synthesise an "optimal type" to trace from the type on the sending side and the type on the receiving side. For example, if you send a String val in a message expecting a Stringable tag, we should trace the object as a String tag, because String is more efficient to trace than Stringable and tag is more efficient to trace than val.
The bug you're hitting is a bug in that type synthesising: the compiler is trying to generate an operation applicable only to the source type (unboxed raw tuple) on a value of the destination type (boxed tuple in a union).

Thank you for the explanation. When I took first too the reference to tracing at face value I thought that it was for escape analysis or inlining and the like at compile time, rather than for generating an optimised runtime garbage collection trace phase.
I will also read OCG: Ownership and Reference Counting based Garbage Collection in the Actor World for more background.
Thanks again.

This should be fixed with #1591 merged. Feel free to reopen the issue if you encounter another bug in that area.

Thank you for attending to this.
Unfortunately, while my code now compiles, the resultant program unfortunately core dumps on a segmentation fault :(
(One of my other programs, that shares some code with the SIGSEGV one, now compiles and runs correctly as expected)
0 15:02 stewart@icecube:~/work/ecn/projects/model/binaries$ lldb -o run -- ./binaries
(lldb) target create "./binaries"
Current executable set to './binaries' (x86_64).
(lldb) run
1 test started, 0 complete: health:types started
2 tests started, 0 complete: networks started
3 tests started, 0 complete: singletons started
4 tests started, 0 complete: clusters started
5 tests started, 0 complete: governor:boot started
state: 0 message: start
state: 0 message: start
state: 0 message: start
B>>state: 0 message: start
state: 1 message: ?,singleton-manager = (Paused, _)
state: 2 message: ?,singleton-manager = (Running, _)
state: 1 message: ?,cluster-manager = (Paused, _)
P>>state: 0 message: start
state: 3 message: singleton?
5 tests started, 1 complete: health:types complete
state: 2 message: ?,cluster-manager = (Running, _)
state: 4 message: ?,singleton = (Running, _)
state: 1 message: ?,network-manager = (Paused, _)
state: 5 message: created
state: 3 message: cluster?
state: 4 message: ?,cluster = (Starting, _)
state: 4 message: ?,cluster = (Running, _)
Process 31659 stopped
* thread #2: tid = 31664, 0x0000000000407b5b binaries`_SingletonManagerDriver_Dispatch + 139, name = 'binaries', stop reason = signal SIGSEGV: invalid address (fault address: 0x19)
    frame #0: 0x0000000000407b5b binaries`_SingletonManagerDriver_Dispatch + 139
binaries`_SingletonManagerDriver_Dispatch:
->  0x407b5b <+139>: cmpq   %rax, (%rcx)
    0x407b5e <+142>: je     0x407b8c                  ; <+188>
    0x407b60 <+144>: jmp    0x407bb5                  ; <+229>
    0x407b62 <+146>: movq   0xb8(%rsp), %rdi

Process 31659 launched: './binaries' (x86_64)
(lldb) bt
* thread #2: tid = 31664, 0x0000000000407b5b binaries`_SingletonManagerDriver_Dispatch + 139, name = 'binaries', stop reason = signal SIGSEGV: invalid address (fault address: 0x19)
  * frame #0: 0x0000000000407b5b binaries`_SingletonManagerDriver_Dispatch + 139
    frame #1: 0x00000000004a304e binaries`handle_message(ctx=0x00007ffff6fc3dc8, actor=0x00007fffe57aac00, msg=0x00007fffe57c2300) + 401 at actor.c:103
    frame #2: 0x00000000004a3208 binaries`ponyint_actor_run(ctx=0x00007ffff6fc3dc8, actor=0x00007fffe57aac00, batch=100) + 308 at actor.c:158
    frame #3: 0x00000000004a40eb binaries`run(sched=0x00007ffff6fc3d80) + 137 at scheduler.c:287
    frame #4: 0x00000000004a41dd binaries`run_thread(arg=0x00007ffff6fc3d80) + 59 at scheduler.c:338
    frame #5: 0x00007ffff79b96ba libpthread.so.0`start_thread + 202
    frame #6: 0x00007ffff72d582d libc.so.6`__clone + 109 at clone.S:109
(lldb)


Run black and flake8 with pre-commit

Although possible, I didn't make pylint and mypy run through pre-commit because there are known issues with them and pre-commit vs virtualenvs.

Looks good, thanks!


Allow the user to access, from the visualizer client, exported panels stored in the remote server exchange folder

Provide to the user a folder in the telemetry visualiser app repository where the user could save exported predefined panels (json files). Such panels would then be made available on the client visualiser on the browser, among the other telemetry entries.

Example of json exported panel
```json
{
  "openmct": {
    "4edc453c-8535-4912-897c-36c3028e7778": {
      "composition": [{
        "namespace": "",
        "key": "ee9c1e48-9e89-4b87-8fd2-0652919d514f"
      }, {
        "namespace": "",
        "key": "1e30f98b-c3e1-4ea7-8f82-a93c40ac0f4f"
      }, {
        "namespace": "",
        "key": "ec67ddff-b798-4b30-8023-152bd8747f9c"
      }],
      "configuration": {},
      "name": "Right Upper Leg Tracking",
      "type": "telemetry.plot.stacked",
      "location": "mine",
      "modified":<PHONE_NUMBER>146,
      "persisted":<PHONE_NUMBER>896,
      "id": "4edc453c-8535-4912-897c-36c3028e7778",
      "identifier": {
        "namespace": "",
        "key": "4edc453c-8535-4912-897c-36c3028e7778"
      }
    },
    "ee9c1e48-9e89-4b87-8fd2-0652919d514f": {
      "composition": [{
        "namespace": "yarpopenmct.vectorCollectionsTelemetry",
        "key": "walkingController.logger",
        "index": "0"
      }, {
        "namespace": "yarpopenmct.vectorCollectionsTelemetry",
        "key": "walkingController.logger",
        "index": "1"
      }],
      "configuration": {
        "series": [{
          "identifier": {
            "namespace": "yarpopenmct.vectorCollectionsTelemetry",
            "key": "walkingController.logger",
            "index": "0"
          },
          "yKey": "value.joints_state::positions::desired.26"
        }, {
          "identifier": {
            "namespace": "yarpopenmct.vectorCollectionsTelemetry",
            "key": "walkingController.logger",
            "index": "1"
          },
          "yKey": "value.joints_state::positions::measured.26"
        }],
        "yAxis": {},
        "xAxis": {},
        "filters": {}
      },
      "name": "Right Hip Pitch Tracking",
      "type": "telemetry.plot.overlay",
      "location": "4edc453c-8535-4912-897c-36c3028e7778",
      "modified":<PHONE_NUMBER>851,
      "id": "ee9c1e48-9e89-4b87-8fd2-0652919d514f",
      "persisted":<PHONE_NUMBER>851,
      "identifier": {
        "namespace": "",
        "key": "ee9c1e48-9e89-4b87-8fd2-0652919d514f"
      }
    },
    "1e30f98b-c3e1-4ea7-8f82-a93c40ac0f4f": {
      "composition": [{
        "namespace": "yarpopenmct.vectorCollectionsTelemetry",
        "key": "walkingController.logger",
        "index": "0"
      }, {
        "namespace": "yarpopenmct.vectorCollectionsTelemetry",
        "key": "walkingController.logger",
        "index": "1"
      }],
      "configuration": {
        "series": [{
          "identifier": {
            "namespace": "yarpopenmct.vectorCollectionsTelemetry",
            "key": "walkingController.logger",
            "index": "0"
          },
          "yKey": "value.joints_state::positions::desired.27"
        }, {
          "identifier": {
            "namespace": "yarpopenmct.vectorCollectionsTelemetry",
            "key": "walkingController.logger",
            "index": "1"
          },
          "yKey": "value.joints_state::positions::measured.27"
        }],
        "yAxis": {},
        "xAxis": {},
        "filters": {}
      },
      "name": "Right Hip Roll Tracking",
      "type": "telemetry.plot.overlay",
      "location": "4edc453c-8535-4912-897c-36c3028e7778",
      "modified":<PHONE_NUMBER>660,
      "id": "1e30f98b-c3e1-4ea7-8f82-a93c40ac0f4f",
      "persisted":<PHONE_NUMBER>660,
      "identifier": {
        "namespace": "",
        "key": "1e30f98b-c3e1-4ea7-8f82-a93c40ac0f4f"
      }
    },
    "ec67ddff-b798-4b30-8023-152bd8747f9c": {
      "composition": [{
        "namespace": "yarpopenmct.vectorCollectionsTelemetry",
        "key": "walkingController.logger",
        "index": "0"
      }, {
        "namespace": "yarpopenmct.vectorCollectionsTelemetry",
        "key": "walkingController.logger",
        "index": "1"
      }],
      "configuration": {
        "series": [{
          "identifier": {
            "namespace": "yarpopenmct.vectorCollectionsTelemetry",
            "key": "walkingController.logger",
            "index": "0"
          },
          "yKey": "value.joints_state::positions::desired.28"
        }, {
          "identifier": {
            "namespace": "yarpopenmct.vectorCollectionsTelemetry",
            "key": "walkingController.logger",
            "index": "1"
          },
          "yKey": "value.joints_state::positions::measured.28"
        }],
        "yAxis": {},
        "xAxis": {},
        "filters": {}
      },
      "name": "Right Hip Yaw Tracking",
      "type": "telemetry.plot.overlay",
      "location": "4edc453c-8535-4912-897c-36c3028e7778",
      "modified":<PHONE_NUMBER>095,
      "id": "ec67ddff-b798-4b30-8023-152bd8747f9c",
      "persisted":<PHONE_NUMBER>095,
      "identifier": {
        "namespace": "",
        "key": "ec67ddff-b798-4b30-8023-152bd8747f9c"
      }
    }
  },
  "rootId": "4edc453c-8535-4912-897c-36c3028e7778"
}
```

</details>

Allow the user to access, from the visualizer client, exported panels stored in the remote server exchange folder
The plugin implementing this behaviour could have been implemented within the openmct framework directly, next to the plugin staticRootPlugin, but we implement it in yarp-openmct for now, for not further diverging from the official openmct release, as previous fixes/developments are still to be submitted.
The implementation steps are:

[x] copy staticRootPlugin implementation code from Open-MCT module to folder openmctStaticServer/plugins/staticImportObjectPlugin

[x] Replace AMD module definition (define function) by ECMA Script Javascript module definition (import primitives) (refer to https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules)
Different module specifications:

CommonJS: commonly used on Node.js, characterized by the use of module.exports and require().
AMD: commonly used on browser code, characterized by the use of define[]() and import.
ECMA Script (ES6): natively supported and commonly used on browser code, characterized by the use of export or export default  and import.

[x] Define StaticImportObjectPlugin rootIdentifiers in a dictionary

Add a joint tracking exported panel .json file (left ankle pitch tracking) to
the exchange folder.
add another call to openmct.install(StaticImportObjectPlugin(...)) for
importing the new panel .json file. for each imported file, a unique specific
namespace must be used, as the plugin install call returns to the OpenMCT
ObjectAPI an object provider with a closure on the imported data and
rootIdentifier. For each StaticImportObjectPlugin install call, a different
rootIdentifier is defined, with a specific unique namespace and always the
key root.
The identifiers rootIdentifier shall not be added to the root in the plugin
anymore. Instead, they shall be defined in a dictionary defining the folder
structure meant to contain the imported panels. Define and add that dictionary:
mySavedPanels.
The leaf elements in the dictionary define the identifiers rootIdentifier.
Their specific namespace and key shall be used by the staticImportObjectPlugin
plugin to overwrite the key and namespace of the root domain object containing
the imported domain objects (rootIdentifier).
Folder objects in the dictionary have to be processed by the ObjectProvider
defined in the dictionary plugin, while the leaf elements have to be processed
by the StaticModelProvider object provider defined in the plugin
StaticImportObjectPlugin.
For that purpose, In the dictionary plugin, getFolderTelemetryEntryKeys needs
to return keys and namespaces, as rootIdentifier object namespaces won't be
the same as their parent folder.

[x] Add input rootLocation to StaticImportObjectPlugin plugin.
It's cleaner to set the original location of the imported objects under the main folder "My Saved Panels".

[x] Add JointTracking exported panels.
This is a fast implementation. Ideally, the dictionary and installation of StaticImportObjectPlugin instances for adding exported panels should be automatic in the future, but for now we hardcode them. Each line installing a StaticImportObjectPlugin instance in openmctStaticServer/index.html, e.g.
https://github.com/ami-iit/yarp-openmct/blob/fbd69b24de04b631ad86016161c69d6414c830fd/openmctStaticServer/index.html#L137-L139
...attaches an exported panel to the respective domain object in the dictionary dictionaryMySavedPanels .json, namely
https://github.com/ami-iit/yarp-openmct/blob/fbd69b24de04b631ad86016161c69d6414c830fd/openmctStaticServer/plugins/conf/dictionaryMySavedPanels.json#L10-L12
For each line, the only thing that changes is the panel number (has to be unique and match the respective one in the dictionary), and the file name.

Originally posted by @nunoguedelha in https://github.com/ami-iit/yarp-openmct/issues/151#issuecomment-1319490278

@S-Dafarra @RiccardoGrieco you could already try this in your demo this week.


UserCertificate client implementation missing

Hello,
What I would need in my company's industrial application is a possibility to use user authentication by certificate in .NET application and what I saw in your code there are only anonymous or username connection available:
Client.cs - row 1665:
else
{
throw new Exception(string.Format("Identity token of type {0} is not supported", identityToken.GetType().ToString()));
}
Could it be possible for you to implement this feature?

Will investigate this in the future the next time I look at user authentication methods.
This is relatively uncommon, although if you have a server to test with and the UA protocol specification, you might try to add it. Off the top of my head, it's just encoding the certificate as a byte array and changing the byte that indicates user authentication type.


escape escql queries

@aruniverse what you changed is not an ECSQL query but rather an ECExpression. It does get converted to ECSQL internally, but keywords also get escaped during the process, so no need for this change.


[Bug][config-ui] Gitlab parentId can conflict with project Ids (recursion issue in ui)

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
I am facing an issue of "maximum call stack size exceeded" in a very special/narrow case. This happens on a brand new project, and while adding a blueprint/data connection.
The details of the reproduction and the cause of the issue are all explained in the linked video on slack.
What do you expect to happen
No recursion error.
How to reproduce
See the video linked here: https://devlake-io.slack.com/files/U04SMMED8AY/F0514M4R5DH/video2178565862.mp4
Anything else
No response
Version
v0.16.0
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

@amanpatel Thanks for your report, very thorough! will look into it ASAP

hi @amanpatel, could you please provide me with your data, I want to reproduce it locally.

@mintsweet  Yes
Request URL: http://(domain)/api/plugins/gitlab/connections/3/remote-scopes?groupId=5
Response JSON (I have modified it to remove sensitive details). The first entry in the "children" array is the one that causes the problem, as it has id:5 and parentId of 5 (recursive).
In gitlab the parentID is not the project but a group id. So they are allowed to collide...
{
  "children": [

    {
      "type": "scope",
      "parentId": "5",
      "id": "5",
      "name": "Networks API",
      "data": {
        "connectionId": 0,
        "gitlabId": 5,
        "name": "Networks API",
        "description": ".",
        "defaultBranch": "develop",
        "pathWithNamespace": "resonance/networks-api",
        "webUrl": "https://.../resonance/networks-api",
        "creatorId": 0,
        "visibility": "private",
        "openIssuesCount": 0,
        "starCount": 2,
        "forkedFromProjectId": 0,
        "forkedFromProjectWebUrl": "",
        "httpUrlToRepo": "https://.../resonance/networks-api.git",
        "createdDate": "2021-06-15T22:12:31.916Z",
        "updatedDate": "2023-04-22T00:25:24.737Z"
      }
    },
    {
      "type": "scope",
      "parentId": "5",
      "id": "4",
      "name": "Networks Frontend",
      "data": {
        "connectionId": 0,
        "gitlabId": 4,
        "name": "Networks Frontend",
        "description": ".",
        "defaultBranch": "develop",
        "pathWithNamespace": "resonance/networks-frontend",
        "webUrl": "https://.../resonance/networks-frontend",
        "creatorId": 0,
        "visibility": "private",
        "openIssuesCount": 0,
        "starCount": 2,
        "forkedFromProjectId": 0,
        "forkedFromProjectWebUrl": "",
        "httpUrlToRepo": "https://.../resonance/networks-frontend.git",
        "createdDate": "2021-06-15T22:04:43.105Z",
        "updatedDate": "2023-04-25T01:30:04.915Z"
      }
    }
  ],
  "nextPageToken": ""
}

@amanpatel Thanks for the information, it should be fixed by https://github.com/apache/incubator-devlake/pull/5037
and will be available on v0.17 in 2 weeks.


Ask user to confirm before resetting their scenario

Show a pop-up message asking the user to confirm that they wish to reset their scenario before doing so. Intended to prevent accidental mis-clicks. :wink:
Would you mind adding an appropriate translation in config/locales/nl_etm.yml?
Please reassign as you see fit.

Ref #3039

Nice that you have implemented this!! I've added the Dutch translation:

A question out of curiosity:
Does this button reset the scenario to the initial start values for that dataset?
OR
Does this button reset the scenario to the latest saved slider settings?

A question out of curiosity:
Does this button reset the scenario to the initial start values for that dataset?
OR
Does this button reset the scenario to the latest saved slider settings?

I think I can answer my own question: I just saw [this issue].(https://github.com/quintel/etmodel/issues/2123)
The "Reset scenario"-button brings you back to the initial start values for that dataset


Cannot find "thr/xthread" (utils.h), while building in Windows enviornment

While I was building PCM tools according to "WINDOWS_HOWTO" word file, i couln't find "thr/xthread" (utils.h), while building in Windows environment.

@alwaysbusy , could you please help here? this includes seems to be added in your commit


Use print() function in both Python 2 and Python 3

print() is a function in Python 3.

I removed the instances of isinstance().  The idiomatic isinstance() may have been slower in earlier versions of Python but in 3.7.1, they are now marginally faster than using type():
import timeit

print(timeit.timeit("isinstance(s, type(i))", "s = 'a' ; i = 1"))
print(timeit.timeit("type(s) == type(i)", "s = 'a' ; i = 1"))

print(timeit.timeit("isinstance(s, int)", "s = 'a'"))
print(timeit.timeit("type(s) == int", "s = 'a'"))

Nice, thanks for pointing that out.


Automatically deploy tagged releases

Tagged releases will automatically get deployed on PyPI.

Thanks @albertmeronyo !
With this PR merged, I'll make a new release to deploy to PyPI.

Thanks! I was looking for a way of automatically grabbing the tag name as the version name (to avoid manually editing it in setup.py). Have you ever done this? Thanks!

No, I'm afraid that still needs to be done manually :-( -- I'll look into it, but I don't think it is possible.


YJDH-439 | KS-Backend: Update activation email content

Description :sparkles:
Update the youth application's activation email content and its
translations.
Issues :bug:
YJDH-439
Testing :alembic:
Screenshots :camera_flash:
Additional notes :spiral_notepad:

Codecov Report

Merging #761 (7e0418e) into develop (20551a9) will increase coverage by 32.13%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##           develop     #761       +/-   ##
============================================
+ Coverage    62.89%   95.03%   +32.13%
============================================
  Files          780      110      -670
  Lines        19741     3889    -15852
  Branches      1924        0     -1924
============================================
- Hits         12417     3696     -8721
+ Misses        6955      193     -6762
+ Partials       369        0      -369

Impacted Files
Coverage Δ

backend/kesaseteli/applications/models.py
98.39% <100.00%> (ø)

...nd/shared/shared/service_bus/service_bus_client.py
33.33% <0.00%> (-57.58%)
:arrow_down:

backend/shared/shared/yrtti/yrtti_client.py
37.50% <0.00%> (-53.13%)
:arrow_down:

...nd/shared/src/i18n/get-server-side-translations.ts

...oyer/src/hooks/backend/useRemoveAttachmentQuery.ts

...nefit/applicant/src/hooks/useAlertBeforeLeaving.ts

frontend/kesaseteli/youth/src/utils/type-guards.ts

.../tet/admin/src/query-client/create-query-client.ts

...mponents/applicationHeader/ApplicationHeader.sc.ts

frontend/kesaseteli/employer/jest.config.js

... and 663 more

Continue to review full report at Codecov.

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


Unable to clone compiler-rt submodule

Running git submodule update --init --recursive results in the following error fatal: clone of 'http://llvm.org/git/compiler-rt' into submodule path '/my/path failed.
I believe it's caused by LLVM moving all their repositories to github.

Fixed. Sorry for the delay.


Point development builds at the staging server by default

What is the link to the staging server? I might try to implement this.

The staging server is at https://staging.store.accrescent.app. But just so you're aware, the staging servers are currently offline, so you may want to wait until they're live again before final testing.

Okay


Fix launch template link for us-west-2

Fix launch template link for us-west-2
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This issue has been resolved.


➕ Move from pytest-cov to pure coverage for internal tests

➕ Move from pytest-cov to pure coverage for internal tests

Will this solve this error?
There was an error running the uploader: Error uploading to [https://codecov.io:](https://codecov.io/) HeadersTimeoutError: Headers Timeout Error

Not sure @iudeen, not sure I saw that error. :shrug:

Superseded by https://github.com/tiangolo/fastapi/pull/5583


chore(devimint): increase bitcoin rpc timeout on tests

Due to this timeout some tests were failing on my local machine. There is no reason for it to be so low.

LGTM, but I kind of expect the actual problem here is we're hitting default limit of rpc thread on bitcoind.
We should increase it to something like 64, and maybe also add some retries.

LGTM, but I kind of expect the actual problem here is we're hitting default limit of rpc thread on bitcoind (AFAIR: 4).
We should increase it to something like 64, and maybe also add some retries.

I'm not sure this is the issue, but increased rpcworkqueue and rpcthreads anyway


Open census Span to View converter

Span to View converter
We have added open census span calls in interesting parts of the code,
but without creating a jaeger or zipkin cluster they are not going
anywhere.
Here we add a SpanConverter that converts our Spans into OpenCensus
distribution Views.
It contains an in memory map of the Measures for these Views,
recording values for the length of time reported to be spent in a
Span.
This list has a hard limit of 100, as there is a risk of a metric
explosion should an element of the system include some ID value in
it's Span names. Gin does this and those are discarded, but there
might be others that we'll have to deal with in the future when discovered.

nice, thanks. will take a look, need something like this. slightly relevant maybe - am generally slightly concerned about 'metrics overload' from this (a lot of these won't be all that useful), curious if you have any thoughts about being able to turn certain 'views' (as opencensus calls them) on/off on a running server.

Metric overload is a worry for sure. It's easy to make em, but sometimes hard to track dwon where they come from.
I would say that if this creates a metric that is useless, then the span was going to be useless anyway. The idea here is to answer the "where is all the time spent" question, in particular when we start load testing and want to know the bottle neck.
The other thing we could think about is using span annotations, to create a sort of debug, info, leveling system. Then we cld selectively enable/disable per environment.
If you fire this branch up you can see how many are going to get made after running a few commands.

Distribution buckets should be configurable. eg:
https://github.com/fnproject/fn/blob/master/cmd/fnserver/main.go#L30

I think this should be optional similar to other views (api views, agent views, etc.) Maybe the registration function with distribution buckets? If we are concerned about metrics overload, perhaps the registration function could take an optional list of span names to be excluded/included?

@mantree Sounds good. The registration function could even have an optional span filter function. Then we can remove url, sanitize, 100 limit, 100 char limit and leave those up to the main.go/components.

Ok, I've looked at pulling the Latency config from main, but it creates a cyclic dependency, so it's not going to happen. I've had a look at passing the value down and through the various layers to try and bring it to the Converter, but that ends up being a total mess, it just doesn't feel worth it.
I think to get this closer to the suggestions would really involve replacing the Spans with normal metrics. The idea here is to get some value from what we have, if they prove useful then that would strengthen the case to get Jaeger/Zipkin setup and make proper use of them.

The idea here is to get some value from what we have, if they prove useful then that would strengthen the case to get Jaeger/Zipkin setup and make proper use of them.

hmm, not sure about motivation here if this is the case, I think they're 2 different goals. we lose all causal context by way of this method, and I think Jaeger would be useful in its own right without this (actually, I know it will be useful, because I've used it to fix bugs and performance tweaks already...). we just get a different set of data with Jaeger, especially since this is averaging down in distribution buckets, tail latency samples are lost -- Jaeger is immensely useful in this respect, even when sampling .01% of traffic. for this, it covers up holes in our metrics for things we're already gathering for traces, this is really useful too; docker latencies, for example, are a great example of when both are useful and we have doubled logic to get these things right now (ie before this) - maybe this is ok and what we should be doing instead, I'm not sure I have the answer, we can discuss (it sounds like you've run into some challenges, trust your judgment on this...)


input->get_request_header('something'); not working without calling input->request_headers() first

in an non apache environment.
not working
$this->input->get_request_header('Host');
$this->input->get_request_header('User-Agent');

working
$this->input->request_headers();
$this->input->get_request_header('Host');
$this->input->get_request_header('User-Agent');

also i think get_request_header() is a little slacky written.

Duplicate of #4056, which was fixed in 3.0.2.
The current latest release is 3.0.4 and you should even be testing against dev code before reporting a bug.

I'm sorry


Release rviz_assimp_vendor as independent assimp_vendor package?

The rviz_assimp_vendor package is used to build assimp on platforms that don't have a system dependency available for assimp.
According to ROS Index, assimp is used across at least 5 released packages in rolling, so I believe there is benefit in moving this out to a standalone assimp_vendor package.
(Same goes for freetype and zlib, which is dealt inside rviz_ogre_vendor)
Are there some reasons against this move, apart from having greater control over assimp by keeping it rviz specific?

I'd be for moving this to general vendored packages.  While we are at it, I'd love to make them use the system versions when they can.

Great, what's the best way to proceed? I've gone ahead and moved the package out into its own repo already - https://github.com/ijnek/assimp_vendor. Should we aim to transfer this repo to ros2, or ..?


fix typos

Scope & Purpose
Fix several minor typos in the web UI.

[x] Bug-Fix for devel-branch (i.e. no need for backports?)
[x] The behavior in this PR can be (and was) manually tested (support / qa / customers can test it)

Testing & Verification
This change is a trivial rework / code cleanup without any test coverage.
http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/10383/

tests blue


[Bug] Issues with the latest update: Header labels overlap

This Github issue is synchronized with Zendesk:
Ticket ID: #767
Group: Support
Requester<EMAIL_ADDRESS>Original ticket description:
Attached with this email is a screenshot of my phone. Texts are overlapping. Im using a Huawei Nova 2 Lite with Android 8.
Screenshot

Comment made from Zendesk by Kerry Washington on 2021-02-21 at 18:45:
Thanks for your feedback.  We have a opening a bug ticket here:https://github.com/litecoin-foundation/loafwallet-android/issues/206You can follow it as we fix it and other issues.
Kerry Washington
Litewallet Team Manager

Fixed in https://github.com/litecoin-foundation/loafwallet-android/pull/207


Danger and swiftlint

Implementation Details :construction:

Adds danger and swiftlint for PR checks

Danger has errored
[!] Invalid Dangerfile file: undefined local variable or method swiftlint for #<Danger::Dangerfile:0x00007fd9cdc25368>
 #  from Dangerfile:61
 #  -------------------------------------------
 #  # Run SwiftLint
 >  swiftlint.verbose = true
 #  swiftlint.config_file = './.swiftlint.yml'
 #  -------------------------------------------

  Generated by :no_entry_sign: Danger


Miscellaneous typo, type annotation and docs fixes

fix: URL typo to https://docs.guardrailsai.com/0-2-migration/
fix: add return type annotation for completeness sake
docs: fix the instructions element docs typos
docs: improve the Prompts Element docs page

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (main@c374edf). Click here to learn what that means.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #396   +/-   ##
=======================================
  Coverage        ?   80.08%
=======================================
  Files           ?       33
  Lines           ?     3851
  Branches        ?        0
=======================================
  Hits            ?     3084
  Misses          ?      767
  Partials        ?        0

Flag
Coverage Δ

unittests
80.08% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Faucet & send reveal sender's balance

/faucet and /send reveal to users the sender's current balance.
The sender's balance is shown on the below button

this has been fixed in https://github.com/massmux/SatsMobiBot/pull/21

This issue is closed and can be re open in case of need

Apparently it is still happening.


Low Pass@k

Hi,
Thanks for the great work!
Firstly I wanted to ask about the performance of the code-clippy models. It seems that the 125M parameter models are quite weak and perform quite poorly on human-eval dataset (even lower than GPT-Neo-1.3B?). Any idea why this is happening.
Also is there some update on the evaluation of the GPT-Neo-1.3 B code-clippy model?
Finally, I would love to contribute to upcoming iterations of code-clippy. Should I join the discord channel?

Hello, can you exactly point out which model you've been using?
Please read https://github.com/CodedotAl/gpt-code-clippy/issues/61 for more information on the right model to be used. If anything please feel free to mention it here.
Thanks for your interest to contribute. Please join the discord server, we'll post the onboarding document soon.
Thanks, good day !

Hi,
Sorry, I was just looking at the models wiki page where evaluation on Human-Eval dataset is provided :

Why is pass@k is 0 for all code-clippy models?


[GIF Search]... failed to fetch data

Extension
https://raycast.com/josephschmitt/gif-search
Raycast Version
1.85.1
macOS Version
15.1
Description
Error:
Je: request to https://gif-search.raycast.com/api/giphy?limit=20&offset=0 failed, reason: self-signed certificate in certificate chain
    at ClientRequest.<anonymous> (/Users/rant/.config/raycast/extensions/4d1a2bc7-9a6c-4e7c-be66-5b54b3787e61/search.js:54:19398)
    at ClientRequest.emit (node:events:519:28)
    at ClientRequest.emit (node:domain:488:12)
    at TLSSocket.socketErrorListener (node:_http_client:500:9)
    at TLSSocket.emit (node:events:519:28)
    at TLSSocket.emit (node:domain:488:12)
    at emitErrorNT (node:internal/streams/destroy:169:8)
    at emitErrorCloseNT (node:internal/streams/destroy:128:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)

Steps To Reproduce

open the extension in Raycast
search (any keyword)
get error...

Current Behaviour
get error on search
Expected Behaviour
search GIFs based on keyword

Same here.

Though, API works fine in the browser

@igordssousa this seems to be an issue with your internet connection, proxy settings or anything in between, but not an issue with the extension itself...

@j3lte you're right, this seems to be an issue with my VPN. My bad.

@raycastbot close this issue

Mine was something related to a proxy or something as well. I was able to fix it by changing the Certificates option to "Keychain" (Settings -> Advanced -> Certificates)


Update byrefs.md

Byref  returns should return a reference which lives at least as long as the required scope and it should be done like :  &.

Thanks @ebresafegaga !

You're welcome 😊 @cartermp


Question:  Guidance on implementing Plantuml renderer

Hello.  We are looking to add the ability to render Plantuml diagrams using markdig.  We've noticed that Markdig.Diagrams has support for nonoml and mermaid diagrams.  Is there any documentation that shows the extensibility points for how to go about adding support for Plantuml?

Is there any documentation that shows the extensibility points for how to go about adding support for Plantuml?

Unfortunately, no doc, but the diagram extension here should be quite straightforward and the HTML code renderer handling it is here
In general, most of the extensions in the Markdig codebase are easy enough to understand them to develop your own.

Thanks @xoofx  for the feedback.
I had a look at the implementations, and they seem simple enough due to the fact that both mermaid and nomnoml has support for rendering the diagrams using a JS library.  Support for rendering Plantuml using Javascript is still experimental and based on wasm with some issues that I want to avoid.  There are existing libraries for transforming the Plantuml code block into a SVG and was hoping to use the libraries to transform the code block into a div that wraps the rendered SVG.  This implies some kind of pre-processing and also the ability to specify the configuration for the plantuml server to use for rendering the SVG.
Do the same extension points still apply given the above mentioned description?

Do the same extension points still apply given the above mentioned description?

You might have to write your own HTML renderer or transform the AST before rendering (e.g transform the codeblock to a HTML block)


Support external libraries and multiple source files in Compiler

Take over the new Compiler structure written by @CKehl from #862 to master: the code compiler was heavily extended to facilitate compilations with multiple source files, the linking with 'external' libraries (eg. libnode; (lib)random), a multi-stage compilation, and a naming correction to facilitate dynamic linking. Also, I externalised the actual compiler parameters into their own super-subclass structure, so that it could be extended at some point for native compilation on MacOS/Win (if that is
desired). These changes are so far complete and tested in the PR.
This could help with #732 and #811. Thanks to @CKehl for bringing this up

This is now fixed in #914


getController onInit method  only called  one  time ,so if we have different params, we could not make a different request

pageA  ( params {a:1,b:2})--- > pageB ,
pageBController onInit called firstime ,and get the params ,make a request.
and the back to pageA, with another  ( params {c:1,d:2})--- > pageB ,
pageBController onInit not called,

When you push a route, you are just stacking a route up, the route below is still there in the stack.
That way you are not opening a screen again, but just removing the view above it.
Life cycles are called only once, since it is the same controller.
This is expected behavior.

so there is any solutions to solve the problem? getx  send api with different params

One method is when you back to pageA, remove the pageB from the widget stack trees. Another method is before you navigate to pageB, make the request and observe the response data, and then in you page you can obx the data.

This is expected behavior, and you shouldn't have a problem with it unless you are using the resources in the wrong way.
1- Different pages must use different controllers. Unless you have only one source of truth for the same pages, immutable you should not have a single controller.
2- If you are opening two equal routes and need different controllers, you must use Get.create or tags to provide another controller for it, and so onInit will be called again.
3- If you do not need more than one route, be sure to close the route with the current controller before opening a new route.

Closing the issue for the explanations provided, if you think this is a bug or more info has to be added to the docs, please reopen.

Most Probably youre pushing same (duplicate) route in the routing stack. That's the default behavior of Getx routing. If you want to push duplicate route in the routing stack, and still want them to be different. use preventDuplicates: false in the argument.
example:
Get.toNamed(Routes.TOPICS, arguments: arguments, preventDuplicates: false);


Make Stunner react faster to Gateway API changes

Background: The current model to handle control plane changes (e.g., kubectl edit gateway my-stunner-gateway) is as follows: the gateway operator watches the Gateway API CRs and every time there is a change it renders a new Stunner configuration into a ConfigMap (usually stunnerd-config). This ConfigMap is mapped into the filesystem of the dataplane pods (stunnerd) that actively watch the config file and, whenever there is a fsnotify watch event, immediately reconcile the new config.
Problem: The time spent from updating the YAML to stunnerd picking up the new config is too much for certain use cases. The main limitation is in the kubelet: it may take more than 1min for the kubelet to map the changed stunnerd-config ConfigMap into the filesystem of the stunnerd pods. We could adjust the  refresh period of kubelet to, say, 1sec, to make this faster: unfortunately many cloud providers lock down the kubelet config from users.
Plan: In the long run, we will implement a Stunner REST API that will make it possible for the operator to push new configs to the stunnerd pods over HTTP. Until this gets implemented, we will create a workaround: we will take over the responsibility of watching for the stunnerd-config ConfigMap and mapping the new config into the filesystem of the stunnerd pods from the kubelet by deploying a dedicated a sidecar container next to stunnerd pods for this purpose; see, e.g., this project.
This issue tracks the progress on this work.

The linked project has a successor that is updated and looks more promising
https://github.com/kiwigrid/k8s-sidecar

This is addressed in 2b36ec4.


WIP: [Breaking refactor] Converting DanfoJs to typescript

This refactor converts the danfojs to use typescript. This is scheduled to be released as Danfo.Js v1.0 (stable), and will include a couple of breaking changes, bug fixes and new features.
Task and progress

[x] Generic core
[x] Frame class
[x] Series class
[x] File Readers /input and output
[x] Utility class
[x] Configuration class
[x] Groupby class
[x] Concat
[x] Merge class
[x] Preprocessing class
[x] Str class (String)
[x] Dt class (Datetime)
[x] Indexing
[x] Plotting class
[x] Date range

Bug Fixes

[x] Column data not being updated when mutating internal data array
[x] Str class issue for non-strings
[x] Better error message
[x] Fix support for all JS date string
[x] Fix loc slicing bug for row index with string labels
[x] Fix wrong order of axis used during computation. axis=1 ==> row-wise operations and axis=0 ==> column-wise operation
[x] apply function now works only across a specified axis

New Features

[x] Ability to create an empty NDframe
[x] Flag for toggling between low/high memory mode
[x] Inplace support for all mutating operations
[x] Ability to set Configuration values on NDframe creation
[x] Support boolean mask for subsetting with iloc. E.g df.iloc({rows: df["count"].gt(5), columns: [0, 1]})
[x] Support boolean mask for subsetting with loc. E.g df.loc({rows: df["count"].gt(5), columns: ["Count", "Size"]})
[x] Update an existing column value via subsetting. E.g df["count"] = [1,3,4,5]
[x] Add loc indexing support for Series
[x] Add configuration support for formating table display in console
[x] applyMap ==> Element wise apply function for DataFrame
[X] and and or logical comparison support. E.g  df.loc({rows: df['Salary_in_1000'].gte(100)).and(df['Age'].gt(60)) })
[x] Streaming support for CSV and JSON files into NDframes
[x] New IO function

[x] streamJSON ==> Supports streaming of local or remote JSON files into DataFrame.
[x] streamCSV ==> Supports streaming of local or remote CSV files into DataFrame.
[x] openCsvInputStream ==> Open a local/remote CSV file as a readable stream
[x] writeCsvOutputStream Open a local/remote CSV file as a writable stream

[x] readCSV supports config values for headers, separator, etc.
[x] toCSV supports config values for output
[x] readJSON supports config values for headers, separator, etc.
[x] toJSON supports config values for formating output
[x] Query/Filter with multiple condition support. E.g  df.loc({rows: df['Salary_in_1000'].gte(100)).and(df['Age'].gt(60)) })
[x] streamCsvTransforme ==> Pipable stream transformer for incrementally transforming DataFrames

Hi @risenW, which is the current process on this? I think we can divide the migration to TS by chunks in the current codebase 😄

Hi @risenW, which is the current process on this? I think we can divide the migration to TS by chunks in the current codebase 😄

Thanks for offering to help out here @JhennerTigreros So just give me a few more days to complete the Generic core class. Once done you can start working on the other classes. I'm doing some major rewrites in the way NDFrame data is created and stored, to solve some memory constraints in the old version.
I'll update this issue when I'm done, and then you can start contributing here.

@risenW out of curiosity, will data frames' types reflect their columns? TypeScript is one of the rare languages whose type system is sufficiently advanced to e.g. faithfully represent a SQL JOIN operation (merge in Pandas parlance). Is this part of the plan?

@risenW out of curiosity, will data frames' types reflect their columns? TypeScript is one of the rare languages whose type system is sufficiently advanced to e.g. faithfully represent a SQL JOIN operation (merge in Pandas parlance). Is this part of the plan?

@lilred I didn’t get your question. Can you rephrase?

Disclaimer: I'm not acquainted with Danfo yet.
A data frame could have type DataFrame<T> where T is an object describing the column names and their types. a value of type DataFrame<{a: number, b: bool}> is a data frame with two columns, one (a) number-valued and one (b) boolean-valued.
I believe it's possible in TypeScript to define a SQL JOIN-like operation such that if df1 has type DataFrame<{a: number, b: bool}> and df2 has type DataFrame<{a: number, c: string}> then df1.join(df2, "outer", ["a"]) has type DataFrame<{a: number, b?: bool, c?: string}>, mutatis mutandis for inner/left/right joins. Then data frame access can be performed without runtime type checks or column index checks.

Ohh that's sound really good, I will wait until you finish the migration and start porting the correlation functions to TypeScript and tackle performance issues. I think we can use web assembly to certain heavily operations. What do you think?

Ohh that's sound really good, I will wait until you finish the migration and start porting the correlation functions to TypeScript and tackle performance issues. I think we can use web assembly to certain heavily operations. What do you think?

Yes, that would help a lot, especially for areas where we are not using tensorflow.
cc @steveoni
Disclaimer: I do not know web assembly-yet 😊

Really nice that there are coming so many new features!
Is there an easy way to convert one column of a DataFrame to a Series object already?
Will there be pandas features like this df.columns.str.upper().str.replace('_', '') or making date columns easily to the index?

Really nice that there are coming so many new features!
Is there an easy way to convert one column of a DataFrame to a Series object already?
Will there be pandas features like this df.columns.str.upper().str.replace('_', '') or this df.index.str.replace(".*(?=Test)", "") or making date columns easily to the index?

Yes, referencing a column using subseting like df[“col1”] will return a Series.
A call to df.columns or df.index will return an array of the values. So you can map that to any function.

Closing this PR. It has been merged and released in the latest v1.0.0


[Accessibility][Functional - Bot responses-More Option]: Functionality of 'Make a Copy' menu item is not working.

User Experience:
For keyboard users it is difficult to perform the task is if any control does not perform its functionality.
Test Environment:
Environment: Chromium Edge (Anaheim) + Narrator
Build Version: 2004 (OS Build 19564.1005)
Microsoft Edge Version: 82.0.425.0 (Official build) canary (64-bit)
Test URL: http://localhost:3000/home
Repro Steps:

Open URL: http://localhost:3000/home
Select 'Bot Responses' link from left navigation.
Navigate within the table using tab key.
Press right arrow key & navigate up to 'More option' button & activate it.
Select 'Make a copy' menu item and observe the issue.

Actual Result:
Functionality of 'Make a Copy' menu item is not working. Nothing is performed on activating it.
Expected Result:
Functionality of 'Make a Copy' menu item should work.
Attachment:
Functional_Bot responses_More option_Make a Copy.zip

I think this qualifies as a regular bug (not just a11y)

Hi @ashish315, did you scroll down to the bottom of this table list? The copied one would appear in the bottom.
Anyway, it's hard for user notice that, I will make some update when do copy, auto focus to created   item.

As checked and verified on below environment, the issue is fixed now. So, we are closing the issue.
Test Environment
Browser: Microsoft Edge Dev {Version 83.0.467.0 (Official build) dev (64-bit)}
OS build: 2004 (19588.1000)
Screen Reader: Narrator
URL: Bot Framework Composer
Prerequisite Here


Update link to history "blocking transitions" docs

Fixed the link to the history "blocking transitions" documentation.

Thanks!


Can't connect to Ryuk when using when running in container and using Docker-Socket-Mounting on Docker Desktop

When running testcontainer based test within another container (vscode devcontainer)
Tests that executed flawlessly on 1.15.3 now fail attempting to start the compose configuration
java.lang.IllegalStateException: Could not connect to Ryuk at <IP_ADDRESS>:58364
at org.testcontainers.utility.ResourceReaper.start(ResourceReaper.java:227) ~[testcontainers-1.16.0.jar:?]
at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:204) ~[testcontainers-1.16.0.jar:?]
at org.testcontainers.containers.DockerComposeContainer.(DockerComposeContainer.java:135) ~[testcontainers-1.16.0.jar:?]
at org.testcontainers.containers.DockerComposeContainer.(DockerComposeContainer.java:119) ~[testcontainers-1.16.0.jar:?]
We did attempt disabling Ryak, but that just results in the same error attempting to connect to the first container.
Docker Desktop 3.6.0
macOS Mojave version 10.14.6
intel mac

Is there a timeline for this to be fixed? I'm stuck in a bit of a bind here of needing to be on 1.16.+ for M1 support, but this issue is blocking me from using this version with docker for mac.

No ETA yet, see the PR #4396 and the possible implications from upstream Docker here:
https://github.com/docker/for-mac/issues/5588#issuecomment-934600089
What is your use case for running the tests inside of Docker Compose in the first place? Maybe if we think about this, we can come up with a  workaround or alternative setup.

Our use case is a development environment inside a docker container using the VS Code Remote Containers extension running on a local instance of Docker Desktop for Windows (WSL2). We have tests using testcontainers that need to be runnable in that environment. This works fine with testcontainers up to version 1.15.3, but we can't update to version 1.16.0 due to this issue.
Any advice on how we might work around this issue until PR #4396 is merged or a more general solution is available?

Hi @jonathan-meier, as you can see from the comment in the upstream issue, there might exist different sockets that need to be mounted for the docker-wormhole pattern to work again. However, I did not yet figure out how to make it work on Docker for Desktop with WSL2.
As a temporary workaround, you could try out to consume the PR as a Jitpack dependency:
https://www.testcontainers.org/jitpack_dependencies/
It would also be interesting to know, if this mitigates the issue for your setup as well.

hi all
I came across to this issue which I think its related to mine (opened last week).  Doe I am. using also a mac , but it happens as well on linux CentOS
https://github.com/testcontainers/testcontainers-java/issues/4685

Hi @kiview, thanks a lot for your answer. I saw that there might be a workaround using a different socket, however, I'm not sure if we could use it, because our configuration needs to be platform independent, i.e. work on Docker Desktop with WSL2 as well as Docker on Linux.
Using jitpack as you suggest, I can confirm that PR #4396 solves the problem for our setup, so we would love to see it make its way into the next released version.

@ggili It is very unlikely that this issue appears on Linux as well since it is related to the VM setup of Docker Desktop.
@jonathan-meier Thanks for confirming that the PR solves the issue for you, we will look into merging it.

@kiview
Yes indeed. I was too fast on conclusion. On mac that might be a solution . Was investigating our gitlabrunner issue further on my mac.
However I just tried on our centos gitlabrunner. Indeed -p 1234:80 or -p 80 doesn't matter. The containers cannot talk to eachother via the gateway. Where on Mac they can.
`docker run -dp 1234:80 docker/getting-started
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "423fde3a0e3896a69512aa3c8fa2016a1d5e2c976707b423e8accc075e3c17e7",
"EndpointID": "d46fd61a22e4fcceb9c6229405d5db747248981d8f56de4f1ad112c3adff3197",
"Gateway": "<IP_ADDRESS>",
"IPAddress": "<IP_ADDRESS>",
`
`docker run -it maven:3.3-jdk-8 /bin/bash
Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "423fde3a0e3896a69512aa3c8fa2016a1d5e2c976707b423e8accc075e3c17e7",
"EndpointID": "ecdd25978e06d056ff62a51fc82910bd34cf638439aa3feafaed975b3460c067",
"Gateway": "<IP_ADDRESS>",
"IPAddress": "<IP_ADDRESS>",
`
curl <IP_ADDRESS>:1234  - works well from host, but not from maven:3.3-jdk-8 container. Only via  curl <IP_ADDRESS>:8080
I will try digging  a bit later, but for me seems that is also a regression on docker. Or there might be something on our Centos which blows things up.

Since I remember a regression from Fedora from some time ago, it might be about the firewalld configuration on CentOS.

I just saw that version 1.16.3 was released, but sadly without PR #4396. I understand that there is some risk involved with merging PR #4396 as is, though what would you think about hiding the workaround behind an opt-in configuration flag?

On Docker Desktop for Mac (M1) 4.9.0, I was able to work around this issue by mounting the docker socket into the container in this fashion: -v /var/run/docker.sock.raw:/var/run/docker.sock

On Docker Desktop for Mac (M1) 4.9.0, I was able to work around this issue by mounting the docker socket into the container in this fashion: -v /var/run/docker.sock.raw:/var/run/docker.sock

I run into the same problem and this workaround did the trick. macOS 13, testcontainers:1.17.5 and Docker Desktop 4.13.1 (90346)

/var/run/docker.sock.raw is not even a file on macOS 13.3.1 with Docker Desktop 4.19.0 (106363) using Testcontainers 1.18.1.
I still see:
Caused by: java.lang.IllegalStateException: Could not connect to Ryuk at <IP_ADDRESS>:59391
	at org.testcontainers.utility.RyukResourceReaper.maybeStart(RyukResourceReaper.java:132)
	at org.testcontainers.utility.RyukResourceReaper.init(RyukResourceReaper.java:42)
	at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:224)
	at org.testcontainers.DockerClientFactory$1.getDockerClient(DockerClientFactory.java:104)
	at com.github.dockerjava.api.DockerClientDelegate.authConfig(DockerClientDelegate.java:109)
	at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:321)
	at example.app.crm.config.TestcontainersCassandraConfiguration.cassandraContainer(TestcontainersCassandraConfiguration.java:71)
...
..
.

I am attempting to run tests using Testcontainers to bootstrap a Apache Cassandra 3.11.15 container with:
$ docker run -it --mount type=bind,source="$(pwd)",target=/source-from-github -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/bin/docker:/usr/local/bin/docker eclipse-temurin:17.0.6_10-jdk-focal /bin/bash

Essentially, bootstrapping the Cassandra container with:
	private static final DockerImageName CASSANDRA_DOCKER_IMAGE_NAME = DockerImageName.parse("cassandra:3.11.15");

	private static final String LOCAL_DATACENTER_NAME = "datacenter1";

	private static final int CASSANDRA_DEFAULT_PORT = 9042;

	@Bean("CassandraContainer")
	GenericContainer<?> cassandraContainer(Environment environment) {

		GenericContainer<?> cassandraContainer = newEnvironmentOptimizedCassandraContainer();

		cassandraContainer.start();

		return withCassandraServer(cassandraContainer, environment);
	}

	private @NonNull GenericContainer<?> newCassandraContainer() {

		return new CassandraContainer<>(CASSANDRA_DOCKER_IMAGE_NAME)
			.withInitScript(CASSANDRA_SCHEMA_CQL)
			//.withInitScript(CASSANDRA_INIT_CQL)
			.withExposedPorts(CASSANDRA_DEFAULT_PORT)
			.withReuse(true);
	}

	private @NonNull GenericContainer<?> newEnvironmentOptimizedCassandraContainer() {

		return newCassandraContainer()
			.withEnv("CASSANDRA_SNITCH", "SimpleSnitch")
			.withEnv("HEAP_NEWSIZE", "128M")
			.withEnv("MAX_HEAP_SIZE", "1024M")
			.withEnv("JVM_OPTS", "-Dcassandra.skip_wait_for_gossip_to_settle=0 -Dcassandra.initial_token=0");
	}


TTS:

STUDY ARTICLE 29
Rejoice in Your Own Progress!
“Let each one . . . have cause for rejoicing in regard to himself alone, and not in comparison with the other person.”—GAL. 6:4.
SONG 34 Walking in Integrity
PREVIEW

Why does Jehovah not compare us with others?
JEHOVAH loves variety. This is evident in his amazing creations, including humankind. Each of us is unique. So Jehovah never compares you with others. He examines your heart, your inner person. (1 Sam. 16:7) He also takes into account your strengths, weaknesses, and background. And he does not ask more of you than you can give. We need to imitate Jehovah by seeing ourselves as he does. Then we will have “a sound mind,” thinking neither too much nor too little of ourselves.—Rom. 12:3.
Why is it not good to compare ourselves with others?
2 Of course, we may benefit by observing the good example of a faithful brother or sister who has a productive ministry. (Heb. 13:7) We might then see ways in which we can be more effective in our own ministry. (Phil. 3:17) But there is a difference between imitating someone’s good example and using it to assess your value as an individual. Such a comparison could cause you to feel envious, discouraged, or even unworthy. As we learned in the preceding article, to compete with others in the congregation would also be spiritually harmful. So Jehovah lovingly exhorts us: “Let each one examine his own actions, and then he will have cause for rejoicing in regard to himself alone, and not in comparison with the other person.”—Gal. 6:4.
 For instance, if you got baptized, you should be thrilled that you have reached that goal! You made the decision to do that on your own. You based it on your love for God. Think about the progress you have made since then. For example, has your love for personal Bible reading and study deepened? Have your prayers become more meaningful and heartfelt? (Ps. 141:2) Have you become more conversational in the preaching work and more effective at using our tools for the ministry? And if you have a family, has Jehovah helped you to become a better husband, wife, or parent? You can feel happy and deeply satisfied about the progress you have made in such areas.
4. What will we consider in this article?
4 We can help others to rejoice in their own spiritual progress. We can also help them to refrain from making comparisons. In this article, we will see how parents can help their children, how marriage mates can help each other, and how elders and others can help their brothers and sisters. Finally, we will consider some Bible principles that can assist us in setting reasonable goals according to our individual abilities and circumstances.
WHAT PARENTS AND MARRIAGE MATES CAN DO
Parents, acknowledge the good efforts of each of your children (See paragraphs 5-6)d

According to Ephesians 6:4, what should parents avoid?
5 Parents should be careful not to compare one child with another or to ask more of a child than he or she can give. Unfavorable comparisons and unreasonable demands can exasperate a child. (Read Ephesians 6:4.) A sister named Sachikob

says: “My teachers expected me to do better than my classmates at school. Additionally, my mother wanted me to do well at school so that I would give a good witness to my teacher and my unbelieving father. In fact, she wanted me to get 100 percent on my exams, which I found impossible. Although I left school years ago, at times I still wonder if my best is good enough for Jehovah.”
6. What can parents learn from Psalm 131:1, 2?
6 A valuable lesson for parents is found at Psalm 131:1, 2. (Read.) King David said that he did not “aspire to things too great” or to things that were beyond him. His humility and modesty “calmed and quieted” him. What can parents learn from David’s words? Parents can be humble and modest not only in what they expect of themselves but also in what they expect of their child. Parents can reassure their child by acknowledging his strengths and weaknesses when helping him to set appropriate goals. A sister named Marina recalls: “My mother never compared me with my three siblings or with other children. She taught me that everyone has different gifts and that each of us is precious to Jehovah. Thanks to her, I rarely compare myself with others.”
7-8. How can a husband show honor to his wife?
7 A Christian husband must show honor to his wife. (1 Pet. 3:7) Honor involves giving special attention and respect to others. For example, a husband honors his wife by dignifying her. He does not ask more of her than she can give. And he certainly does not compare her with other women. If he were to do so, what effect might such a comparison have? The non-Witness husband of a sister named Rosa often compares her with other women. His cruel words have done more than undermine Rosa’s self-confidence. She says, “I need constant reassurance that Jehovah values me.” In contrast, a Christian husband assigns honor to his wife. He knows that his doing so affects both his relationship with her and his relationship with Jehovah.c
8 A husband who honors his wife praises her, reassures her of his love, and commends her. (Prov. 31:28) That is how the husband of Katerina, mentioned in the preceding article, has helped her to overcome feelings of low self-worth. As a child, she was belittled by her mother, who often compared her with other girls, including her friends. As a result, Katerina began to measure her worth by comparing herself with others—even after she came into the truth! Her Christian husband, however, has helped her to fight this tendency and to develop a more reasonable view of herself. She states: “He loves me, commends me for the good things I do, and prays for me. He also reminds me of Jehovah’s wonderful qualities and helps me to correct my negative thinking.”
WHAT LOVING ELDERS AND OTHERS CAN DO
9-10. How did caring elders help a sister to overcome her tendency to compare herself unfavorably with others?
9 How can elders help those who have a tendency to compare themselves with others? Consider the experience of a sister named Hanuni, who as a child was rarely commended. She recalls: “I was shy and felt that other kids were better than I was. I began comparing myself with others as far back as I can remember.” Even after she came into the truth, Hanuni still compared herself with others. As a result, she felt of little value
in the congregation. Now, though, she serves as a happy pioneer. What helped her to change her outlook?
10 Hanuni says that she was helped by caring elders. They expressed confidence in her and commended her for her faithful example. She writes: “A few times the elders asked me to encourage some sisters who needed help. These assignments made me feel needed. I remember when caring elders thanked me for the encouragement I had given to some younger sisters. Then they read 1 Thessalonians 1:2, 3 to me. How that touched my heart! Thanks largely to those fine shepherds, I now treasure my place in Jehovah’s organization.”
11. How can we help those who are “crushed and lowly in spirit,” as described at Isaiah 57:15?
11 Read Isaiah 57:15. Jehovah cares deeply for those “crushed and lowly in spirit.” All of us, not just the elders, can help to encourage these dear brothers and sisters. One way we can encourage them is by showing a sincere interest in them. Jehovah wants us to convey to them his love for his precious sheep. (Prov. 19:17) We can also help our brothers and sisters by being humble and modest. We do not want to draw attention to ourselves that could result in stirring up envy in others. Instead, we use our abilities and knowledge to encourage one another.—1 Pet. 4:10, 11.
Jesus’ disciples were drawn to him because he never assumed a superior attitude. He enjoyed association with his friends (See paragraph 12)
12. Why were lowly ones drawn to Jesus? (See cover picture.)
12 We can learn much about how to treat others by considering how Jesus treated his followers. He was the greatest man who ever lived. Yet, he was “mild-tempered and lowly in heart.” (Matt. 11:28-30) He did not show off his superior intelligence and vast knowledge. He taught by using simple language and appealing illustrations that touched the hearts of lowly ones.  (John 6:37) Instead, he dignified the common people.
13. How were Jesus’ kindness and love reflected in the way he dealt with his disciples?
13 Jesus’ kindness and love were reflected in the way he dealt with his disciples. He knew that they had different abilities and circumstances. So they could not all handle the same responsibilities; nor could they be equally productive in the ministry. Yet, he appreciated the whole-souled efforts of each one. Jesus’ understanding attitude is reflected in the parable of the talents. In that illustration, the master assigned each slave work “according to his own ability.” One of the two diligent slaves gained more than the other. But the master commended both with the same words: “Well done, good and faithful slave!”—Matt. 25:14-23.
14. How can we imitate the way Jesus treated others?
14 Jesus is kind and loving in the way he deals with us. He knows that our abilities and circumstances vary, and he is pleased when we do our best. We do well to treat others as Jesus did. Never would we want to make a fellow worshipper feel unworthy or ashamed because he cannot do as much as others can.
Instead, let us look for opportunities to commend our brothers and sisters for doing their best to serve Jehovah.
SET REASONABLE GOALS
Find joy in setting and reaching reasonable goals (See paragraphs 15-16)e
15-16. How did a sister benefit from setting reasonable goals for herself?
15 Spiritual goals give our life direction and purpose. The key, however, is to set goals according to our abilities and circumstances, not those of others. We do not want to set ourselves up for disappointment and discouragement. (Luke 14:28) Consider the example of a pioneer sister named Midori.
16 Midori’s father, who is not a Witness, humiliated her as a child by comparing her with her siblings and classmates. “I felt worthless,” says Midori. As she grew older, however, Midori gained self-confidence. She says, “I read the Bible every day so that I could have peace in my heart and I could feel that Jehovah loves me.” In addition, she set reasonable goals for herself, and she prayed specifically for help to achieve those goals. As a result, Midori could rejoice in her own spiritual progress.
CONTINUE TO GIVE JEHOVAH YOUR BEST
17. How can we “continue to be made new in [our] dominant mental attitude,” and with what results?
17 Negative feelings and thoughts may not go away overnight. So Jehovah exhorts us: “You should continue to be made new in your dominant mental attitude.” (Eph. 4:23, 24) To do so, of course, we need to pray, study God’s Word, and meditate. Apply yourself to these things, and look to Jehovah for strength. His holy spirit will help you to overcome any tendency to compare
yourself with others. Jehovah will also help you to recognize and quickly root out envy or undue pride if these undesirable feelings spring up in your heart.
18. How can you take comfort from the words found at 2 Chronicles 6:29, 30?
18 Read 2 Chronicles 6:29, 30. Jehovah knows our heart. He also knows our struggles—our fight against the spirit of the world and against our own imperfections. As Jehovah sees how hard we are fighting against such negative influences, his love for us grows.
19. How does Jehovah illustrate the way he feels about us?
19 To illustrate how he feels about us, Jehovah uses the bond between a mother and her baby. (Isa. 49:15) Consider the example of a mother named Rachel. She writes: “My daughter Stephanie was born prematurely. When I first saw her, she looked tiny and helpless. But the hospital allowed me to hold her every day during the first month when she was in an incubator. Those tender moments helped us to form a close bond. She is now six years old and is smaller than others her age. Yet, I love her all the more because she fought so hard to live, and she has brought so much joy to my life!” How comforting it is to know that Jehovah feels that type of deep love for us when he sees us fighting to serve him whole-souled!
20. As a dedicated servant of Jehovah, what reason do you have to rejoice?
20 As a servant of Jehovah, you are a unique and valued member of his diverse family. Jehovah did not draw you to himself because you were better than your neighbors. He drew you because he looked into your heart and saw a meek and teachable person whom he could mold. (Ps. 25:9) Be assured that he appreciates it when you do your best to serve him. Your endurance and your faithfulness are evidence of “a fine and good heart.” (Luke 8:15) So continue to give Jehovah your best. Then you will have good reason to rejoice “in regard to [yourself] alone.”

How can parents help their children to rejoice in their own spiritual progress?
How can elders help those in their care to feel loved and appreciated?
Why can we rejoice when we give Jehovah our best?


Allow Symfony 3.4

Is there some reason to not allow installation with Symfony 3.4? Afaik it's the same as 4.0 just with some deprecated code so it should work fine. If there is a reason to disallow it then why is event-dispatcher 3.4 allowed?

Event dispatcher is here due to unmaintained git-wrapper package, I'm working on it on another PR.
The reason as in other package to avoid upgrading core post hoc. E.g. even though you might say that PHP CS Fixer 2.4 is compatible with 2.9, there have been many bc breaks. I would not like to find and solve them next year.
Same for Symofony, I have no idea what changes were in Symfony 3.1, 3.2, 3.3 etc. It influenced code a lot.
It also way to support continuous upgrading path in projects, same as for PHP 7.1. Also this can be handled by Rector.
To deliver new feature new packages are needed.

Not that I disagree with anything in particular. It's just that since SF 3.4 and 4.0 are the same there is no reason to not allow 3.4. Many projects can't go to 4.0 yet because bundles are not yet updated. I'm actively reporting such issues to the authors but it will still take some time until I can really use 4.0.

From code view you're right. I wrote about maintainability and upgrade path reasons. It's rather about mental health than technical issues.
In 6 months it would not make sense to bump from 3.4 from  4.1, since one would assume LTS is priority here - someone my open with similar PR like this one.
If you want to try out Symplify 3 before Symfony 4 is in your project - I guess that's real goal here - try aliasing in composer.json. In pseudo-code:
"require": {
     "symplify/symplify": "3.0",
     "symfony/symfony": "3.0 as 4.0"
}

I do that when I need some package that have deps out of sync.

As I have burnt a lot with supporting old version and it negatively influenced burn-out in open-source projects, I'm taking an opinionated decision and closing this PR. Thanks for understanding


ReferenceError: Unknown transformer es6.parameters specified in whitelist

/Users/shangyeshen/Sites/react-native-fbsdk/Sample/node_modules/react-native/node_modules/babel-core/lib/babel/transformation/pipeline.js:162
        throw new ReferenceError("Unknown transformer " + key + " specified in " + type);
        ^

ReferenceError: Unknown transformer es6.parameters specified in whitelist
    at Pipeline._ensureTransformerNames (/Users/shangyeshen/Sites/react-native-fbsdk/Sample/node_modules/react-native/node_modules/babel-core/lib/babel/transformation/pipeline.js:162:15)
    at Function.transformerList.validate (/Users/shangyeshen/Sites/react-native-fbsdk/Sample/node_modules/react-native/node_modules/babel-core/lib/babel/transformation/file/options/parsers.js:25:19)
    at validateOption (/Users/shangyeshen/Sites/react-native-fbsdk/Sample/node_modules/react-native/node_modules/babel-core/lib/babel/transformation/file/options/index.js:25:19)
    at File.normaliseOptions (/Users/shangyeshen/Sites/react-native-fbsdk/Sample/node_modules/react-native/node_modules/babel-core/lib/babel/transformation/file/index.js:192:50)
    at new File (/Users/shangyeshen/Sites/react-native-fbsdk/Sample/node_modules/react-native/node_modules/babel-core/lib/babel/transformation/file/index.js:146:10)
    at Pipeline.transform (/Users/shangyeshen/Sites/react-native-fbsdk/Sample/node_modules/react-native/node_modules/babel-core/lib/babel/transformation/pipeline.js:121:16)
    at Object.transformFileSync (/Users/shangyeshen/Sites/react-native-fbsdk/Sample/node_modules/react-native/node_modules/babel-core/lib/babel/api/node.js:112:42)
    at compile (/Users/shangyeshen/Sites/react-native-fbsdk/Sample/node_modules/react-native/node_modules/babel-core/lib/babel/api/register/node.js:109:20)
    at normalLoader (/Users/shangyeshen/Sites/react-native-fbsdk/Sample/node_modules/react-native/node_modules/babel-core/lib/babel/api/register/node.js:160:14)
    at Object.require.extensions.(anonymous function) [as .js] (/Users/shangyeshen/Sites/react-native-fbsdk/Sample/node_modules/react-native/node_modules/babel-core/lib/babel/api/register/node.js:173:7)

get this error when trying to run some example code on facebook/react-native-fbsdk. not sure whats causing this. i have a .babelrc file in my $HOME dir.

Wrong repo for Babel issues. Also this is a support question so you please see our README:

For questions and support please visit the Slack community or StackOverflow.

I'd be happy to help with any other question you have there.


ApplicationProtocolNegotiationHandler should enforce the present of S…

…slHandler in the ChannelPipeline
Motivation:
750d23583c187b4e8dafdfea3f4fbeaf1d9be7cd did introduce a change in ApplicationProtocolNegotiationHandler that let the handler buffer all inbound data until the SSL handshake was completed. Due of this change a user might get buffer data forever if the SslHandler is not in the pipeline but the ApplicationProtocolNegotiationHandler was added. We should better guard the user against this "missconfiguration" of the ChannelPipeline.
Modifications:

Enforce the presents of SslHandler in the ChannelPipeline when ApplicationProtocolNegotiationHandler is added
Add unit tests
Clarify in the javadocs the relationship between SslHandler and ApplicationProtocolNegotiationHandler

Result:
Less likely the user missconfigure the ChannelPipeline when using the ApplicationProtocolNegotiationHandler.

/cc @hyperxpro @sskrobotov

Also this did make me realise that we might want to consider in netty 5 a way to "express" dependencies between handlers and so be able to fail fast if the pipeline is "modified" in an incompatible way.

looking in the test-failures

Hmm I think this might be to fragile as for example there are other handlers that might put the SslHandler in the pipeline. For example SniHandler etc. So Let us just remove the handler if we receive a message but there was no SslHandler in the pipeline.


Feat/improve iou speed

This PR vectorizes the computation of element overlap to speed up deduplication process of extracted elements.

Fantastic change! On my mac (M3) this drops one of my larger docs from 21 to 5 minutes.


Weird Humanoid Performance

I'm more than excited to see this GREAT project and I give it a shot the moment I see it.
During my trial, I find something weird when I load the URDF of a Unitree H1 robot. To be specific, the movement of legs seems kind of unnatural. I wonder if this phenomenon is normal or if I make some mistakes.
The code I've tried is the same as you give for the Franka arm:
import genesis as gs
gs.init(backend=gs.cpu)

scene = gs.Scene(show_viewer=True)
plane = scene.add_entity(gs.morphs.Plane())
franka = scene.add_entity(
    gs.morphs.MJCF(file='h1.xml'),
)

scene.build()

for i in range(1000):
    scene.step()

The performance the robot shows is:

It looks normal to me?

It looks normal to me?

Thanks for your quick reply! But why the leg get suspended in the air when it falls down to the ground. This bewilders me qwq.

I guess the collision mesh of hip joints causes it.
I don't consider this performance to be a simulation-level issue. If you get any other problems, please feel free to open a new issue.


Implemented Iris in Python

When will Iris be implemented in Python

up

is it implemented now?

up

Check out my mediapipe demo repository, run python iris.py after installation of all the pip packages and don't forget to also download the tf_lite model for the iris detection as described in the readme. It's not a single iris depth module, but does the job. I reimplemented the depth calculations in numpy.
https://github.com/Rassibassi/mediapipeDemos

Much needed. Seems simple enough considering that CPP code can be easily ported to Python.

that CPP code can be easily ported to Python.

who can it be easy?
most ML researchers do not know
and shouldn't know C ++

The Iris portion is written in C++, from my experience creating an abstraction over a lower-level implementation is at least easier than the other way round.

Hi @DimIsaev,  Will  share if there is any update of roadmap regarding the above feature. You can go through  this https://github.com/google/mediapipe/issues/2235#issuecomment-880981281 as of now.

Hi @DimIsaev, Will share if there is any update of roadmap regarding the above feature. You can go through this #2235 (comment) as of now.

yes   i use  this repository
you include this codes в  public  repository  Mediapipe ?

Hi @Rassibassi
Check out my mediapipe demo repository, run python iris.py after installation of all the pip packages and don't forget to also download the tf_lite model for the iris detection as described in the readme. It's not a single iris depth module, but does the job. I reimplemented the depth calculations in numpy.
https://github.com/Rassibassi/mediapipeDemos
I am facing the error mentioned below
c:\Users\snagaraj\Documents\git_repos\git_iris1>python iris.py -i gA_1_s1_2019-03-08T09;31;15+01;00_rgb_face.mp4
2021-09-01 14:37:21.813652: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cudart64_110.dll
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
Traceback (most recent call last):
File "iris.py", line 167, in
main(args.i)
File "iris.py", line 69, in main
) = from_landmarks_to_depth(
File "c:\Users\snagaraj\Documents\git_repos\git_iris1\custom\iris_lm_depth.py", line 27, in from_landmarks_to_depth
eye_contours, iris_landmarks = detect_iris(
File "c:\Users\snagaraj\Documents\git_repos\git_iris1\custom\iris_lm_depth.py", line 61, in detect_iris
outputs = tflite_inference(eye_frame_low / 127.5 - 1.0, model_path)
File "c:\Users\snagaraj\Documents\git_repos\git_iris1\custom\core.py", line 11, in tflite_inference
interpreter = tf.lite.Interpreter(model_path=model_path)
File "C:\Users\snagaraj\documents\git_repos\git_iris1\env_iris\lib\site-packages\tensorflow\lite\python\interpreter.py", line 348, in init
_interpreter_wrapper.CreateWrapperFromFile(
ValueError: Could not open 'models/iris_landmark.tflite'.


Add sublime-merge hook support for MacOS

sed is used in the script and it's not portable between Linux and MacOS so this fixes that
Add instructions to ensure json properties exist otherwise the hook doesn't find/replace anything

LGTM! :shipit:


How do I obtain more values

Hi,
I want to get the same values (or more) like the default twitch integration with Hassio.
There are some things missing..
This is how I obtain the values
{{states.sensor.twitchstreamername.attributes}}
and I'm getting
{
  "subscribed": false,
  "subscription_is_gifted": false,
  "following": true,
  "following_since": "2016-08-15T14:48:02Z",
  "friendly_name": "twitchstreamername",
  "icon": "mdi:twitch",
  "entity_picture": "https://static-cdn.jtvnw.net/jtv_user_pictures/1-profile_image-300x300.jpg"
}

before that (using the old sensor)
{
  "followers": XXX,
  "views": XXX,
  "friendly_name": "twitchstrreamername",
  "icon": "mdi:twitch",
  "entity_picture": "https://static-cdn.jtvnw.net/jtv_user_pictures/1-profile_image-300x300.jpg"
}

You see that there are some things missing (followers and views)
Is it still possible to obtain these with the new helix api and this integration?

@NicciZar - I had some time and added an api_opt_outs list to the config, so we can opt out of Twitch API calls if we don't need all info.

Oh thats great! Thank you


Ontology IDs are vertical in safari

I expect the wrapping happening, I could update it but I cannot seem to replicate the vertical thing in Safari. Any replication steps or you just randomly accessed the page?


add config file for gitpod

reference: https://www.gitpod.io/docs/prebuilds#configure-the-github-app

Are you using GitPod? :)

# add a check to pull requests (defaults to true)
addCheck: true
# add a "Review in Gitpod" button as a comment to pull requests (defaults to true)
addComment: true
# add a "Review in Gitpod" button to pull requests (defaults to false)
addBadge: true

What is this used for / what is the value? You can also get a VSCode editor on your PR by just pressing ., however at that point you are not able to run it. Do we need to add these comments to all pull requests?

I'm starting to use it yes. Not sure yet what all the options are for and how useful they are.

It even works quite well on android


Create dataset loader for LimeSoda

Dataloader name: limesoda/limesoda.py
DataCatalogue: http://seacrowd.github.io/seacrowd-catalogue/card.html?limesoda

Dataset
limesoda

Description
Thai fake news dataset in the healthcare domain consisting of curate and manually annotated 7,191 documents (only 4,141 documents contain token labels and are used as a test set of the baseline models). Each document in the dataset is classified as fact, fake, or undefined.

Subsets
-

Languages
tha

License
Creative Commons Attribution 4.0 (cc-by-4.0)

Homepage
https://github.com/byinth/LimeSoda

HF URL
-

Paper URL
https://ieeexplore.ieee.org/document/9678187

#self-assign


Is it possible to use Fastlane to pull Xcode project from git/folder?

Sorry, not sure how to label as a question.
What I'd like to do is use fastlane to pull down an Xcode project that I can then run fastlane init on. Is there a hook to do this, because fastlane init expects a project to be there all ready.

Hi @trustyfrog Thanks for reaching out. You can use the shell commands action 'sh'. However, I believe you'll need to run produce and deliver rather than running Fastlane init. Thanks!

Yeah, or you can have your own shell script that does a git clone and then fastlane init


Uncouple blob limits per block across CL and EL

PR: https://github.com/ethereum/consensus-specs/pull/3800
EIP: https://eips.ethereum.org/EIPS/eip-7742
Wait for merge and implement
Plus we don't need this until we have at least 1 EL which supports this

Could probably close this one in favour of https://github.com/Consensys/teku/issues/8745


[Deployment] Create a deployment pipeline in a PaaS environment

Deployment Options
identify free tier paas for deployment of rattle test
integrate with github actions for deployment.

Closed through #24


Add Support for ZIP for Installer Type

Description of the new feature/enhancement
It would be a great addition if a ZIP could be used for installing something in addition to the supported exe/msi/etc options. This would allow applications that don't have an installer package to be able to be installed and managed using winget.
One example would be Terraform. It's downloaded as a .zip that contains an exe that needs to be placed on the machine somewhere, then the terraform.exe needs to be added to the system PATH so users can use it from the command-line. It contains no installer so script support in winget packages would allow this to be easily and quickly installed using winget.

Proposed technical implementation details (optional)

A new InstallerType: zip could be added that supports installing things contained within a zip file. The zip file would be downloaded similarly to how exe/msi/etc are today, then unpacked into a destination folder. Also, it would need a flag such as AddPATH: true to add the destination folder to the system path so any exe's contained within the folder could be used at the command-line.
Here's an example:
InstallerType: zip
Installers:
  - Arch: x64
    Url: https://releases.hashicorp.com/terraform/0.12.26/terraform_0.12.26_windows_amd64.zip
    Sha256: XXXXXXXXXXXSHA256HASHXXXXXXXXXXXX
    AddPATH: true

Yup.  I agree, this is #140.

Duplicate of #140


Request headers containing Russian (and possibly other non-English) characters fail with UTF-8 encoding error

Having an issue where we send a user-agent header that includes the device OS, and http fails the request with UTF-8 encoding error.
An example offending user-agent header is:
Mac OS/Версия (arm64;23.5.0;) connlib/1.1.1
Using English works fine. As far as I can find, Russian and any other written language only use valid UTF-8 characters.
This is preventing some of our customers on non-English localized macOS systems from connecting.
Happy to spend some time to attempt a fix here, could you point us in the right direction?
Much appreciated!

Please ignore this. I think the error message here should be US-ASCII encoding error as it seems that the HTTP/1.1 RFC calls for only US-ASCII characters in HTTP headers.


Show progress percentage

This is a configurable option
new LoadingScreenPlugin({
  showPercentage: true
})

IssueHunt Summary

Backers (Total: $40.00)

 issuehunt ($40.00)

Become a backer now!
Or submit a pull request to get the deposits!
Tips

Checkout the Issuehunt explorer to discover more funded issues.
Need some help from other developers? Add your repositories on IssueHunt to raise funds.

IssueHunt has been backed by the following sponsors. Become a sponsor

I'll try this, @evillt can you provide more info?

:tada: This issue has been resolved in version 2.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


How To remove cursor "_" ?

How To remove cursor "_" ? because that cursor count as a character in database.
i use validation min and max input.
thanks.

https://i.postimg.cc/bvXjxMXw/evidence.png

https://i.postimg.cc/Xvw6Q83c/evidence-2.png

@zakymujayin ,
Try the autoUnmask option

@RobinHerbots problem solved, thanks !


inference on single image?

Hi,
Thanks for the great work! Would you please suggest how to run inference on a single image? I would like to test the model on my own urban satellite data. Thanks!

Apologies for being inactive for such a long time, I've been quite busy the past few weeks. Thank you so much @calebrob6 for resolving this! @ydzhang12345 I hope you were able to get what you needed!


When I update the spyder, I must delete the old config file, otherwise the spyder won't open.

When I update the spyder, I must delete the old config file, otherwise the spyder won't open. How can I solve the problem?

Hi @Vincent0706 could you be more specific regarding your setup and the from what version to what version are you doing the update?
Without that there is not much we can do sorry :/
Let us know!

I setup spyder with pip.
My python version is 3.9
I updata my spyder from 5.0.3 to 5.0.4
I use the command "pip install --upgrade spyder"

Sorry to hear that @Vincent0706 , did you saw any traceback after the update? Maybe you could run spyder from the console using the --debug-info verbose flag to check for any traceback. Also, you can try instead of deleting the .spyder-py3 folder to run spyder with the --reset flag. I could be wrong but maybe some sort of permission error is causing the previous preferences to not be available after doing the update with pip.
Let us know if you are able to get more info about the error by doing something of the above any new info in order to reproduce this in our side is greatly appreciated :)

https://user-images.githubusercontent.com/82581024/122585229-db1cdc80-d08d-11eb-894f-48497d6ce106.mp4
This is my operation video. I have upgrade to 5.0.4. You can find that I can't open the spyder. It only show the symbol.

Thanks for the video @Vincent0706 is really strange what is happening to you :/ Could you try to run from a console with admin rights just to be sure is not a permissions problem while reading the preferences or something like that? Also, what happens if you run spyder --reset ?
Let us know!

https://user-images.githubusercontent.com/82581024/122628027-2f53ab00-d0e6-11eb-9072-e9937452dbe0.mp4
It has the same situation.

Still not sure what could be causing this @Vincent0706 . Maybe you could try our installers and check if something in our documentation and troubleshooting guide helps: https://docs.spyder-ide.org/current/troubleshooting/first-steps.html#where-to-go-from-here
Also, you could give it a try to our installers: https://github.com/spyder-ide/spyder/releases/latest
Otherwise I'm not sure what else to try to help you or how to get more information sorry :/
Let us know if something of the above helps

Thanks a lot. But I think I'd better use the old version before the spyder become more stable. And I think the installers always install a new python in my computer, so I don't want to use the installers.
Thank you for your help. Hope spyder can become better.

@Vincent0706 last thing to check, can you try to run spyder --debug-info verbose --debug-output file and check for a spyder-debug.log file in the current working directory where the console is ? Let us know

A good news, my problem seems to have been solved in version 5.0.5.
If I meet my problem again, I can check for the spyder-debug.log to report my problem.

Awesome, glad is working now for you!
Then I will close this one but yes please, if you face a similar issue open a new issue with the details :+1: