Fix spelling mistake, improve clarity

Hi, thanks for this extension!
Just a quick PR to fix the spelling mistake and improve the clarity of the field description.

Thank you for your contribution!
Before submitting this PR, please make sure:

[x] Your code builds clean without any errors or warnings
[x] You have made the needed changes to the docs
[x] You have written a description of what is the purpose of this pull request above

thanks @karlhorky

Glad to help, thanks for the merge!


analytic function needs func_version

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] others

Which issues of this PR fixes ：

daily case case.system_case.test_dql.test_window_function.TestJoin.test_window_function_dsdb_3765 report error:
"Invalid window function plan: sum"
Problem Summary(Required) ：

Window function can not resolved because aggregation function sum(decimal) and avg(decimal) have adopt new-version implementation, so window function should adopt new version,too.

[FE PR Coverage check]
:heart_eyes: pass : 1 / 1 (100.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/catalog/Function.java
1
1
100.00%

Is it possiable add function version to RuntimeState ? I also need this message from FE later.

[FE PR Coverage check]
:disappointed: fail : 0 / 1 (00.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/qe/Coordinator.java
0
1
00.00%


Soft wrap happening at 500th character with soft wrap disabled

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
When soft-wrap is disabled I get line wraps at all lines at the 500th character.
Steps to Reproduce

create a file with:
012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678
(or open any file with long lines)

Disable soft wrap

Expected behavior:
The file should be displayed in one line
Actual behavior:
The file is displayed in 2 lines
Reproduces how often: [What percentage of the time does it reproduce?]
Always
Versions
You can get this information from copy and pasting the output of atom --version and apm --version from the command line. Also, please include the OS and what version of the OS you're running.
Atom    : 1.15.0
Electron: 1.3.13
Chrome  : 52.0.2743.82
Node    : 6.5.0
OS:  Mac OS Sierra 10.12.3 (16D32)

Additional Information
If tried that on safe mode, with saved fles, with unsaved text pasted on a new window everything.
I've searched and found nothing about it so I guess it's not happening to everybody but I can't figure how this is happening to me.

This is now intentional so that files with long lines do not freeze Atom.  See #13820 for more info.

Damm, thanks.
It's inconvenient right now for me (opening that did not hang before, not minifed files but with some 600~ text lines) but I guess I'll curse a lot less when opening a minified one by mistake.
Thanks.

Can this also be deactivated? It's annoying AF in the scenarios which I use Atom for.

@d3rrial: No it can't, see @50Wliu's explanation above.

I just ran into this on 1.15.0 ia32. This is horrible. If I turn off line wrapping, I expect lines not to be wrapped.
This should be reopened. Basically you're saying, "oops, we ran into some sort of limitation, so we'll arbitrarily wrap your lines even though you've explicitly told us not to". (And this "limitation" seems to be around 500 characters. I could understand if we were running on a Commodore 64, but seriously...)
I can't control line-wrapping on my editor? Really?
I'm not so irritated that you ran into a bug---that happens. I'm amazed and dumbfounded that you would close this issue and essentially say, "you'll have to live with it."

Totally agree.  As a compromise it seems that you could leave the original behavior when the file size is really small.  I've got a one line regex in a config file that's over 700 characters long, but the file is maybe 10 lines long total.  It is irritating when it soft wraps on a space and I have to wonder if the space is really in my line or not in an important config file where spaces matter.

Unfortunately, that won't work.  Atom will hang on files with very long lines, regardless of file size.  A lot of reports were with minified jQuery, which is only around 3kb (I think).

@50Wliu: Can you somehow detect how long the line is, and don't apply the auto-wrap if the length is less than some critical value?

@Zireal07 Maybe I'm misunderstanding your question, but isn't that what Atom is already doing with 500 characters being the critical value?

@50Wliu 500 is an arbitrarily chosen value that they chose because most singular lines of code (apparently) do not exceed that and it was having stable results in their testing. They could've also done with 2000 or 3000 characters, but variance between systems may or may not compromise stability at those cases. I'm assuming that their thought is better have some extremely annoying line-wrapping than having someone lose unsaved files because they opened a file that was too long and crashed the editor.

To summarize @d3rrial: "Atom: We're the editor that makes you choose between losing data or being extremely annoyed." 😞

@50Wliu: I am thinking "don't wrap at 500 if the line is shorter than, I dunno, 700"?
A note on the soft wrap disable option informing users of the auto-wrap would be a good idea, too.

A note on the soft wrap disable option informing users of the auto-wrap would be a good idea, too.

I think we'd be open for a PR for this. @lee-dohm

We don't feel that having an option that all of a sudden makes Atom unstable is a valid choice to give people, no matter how many warnings that are placed around it. It is proven by research time and again that people don't read the explanatory text around things until something goes wrong. By then it is too late for the options being discussed here, as I understand them.

and essentially say, "you'll have to live with it."

If you don't like the limitation or the value that we have chosen, you have the option of compiling Atom from source with the value set to whatever you wish it to be set to.

@lee-dohm I believe that @Zireael07 meant something along the lines of:
"Disabling Line-Wrapping doesn't actually disable Line-Wrapping. Re-Compile from source if you want that."
as the warning.

There are many, many things to like about Atom, but the layperson such as myself just wonders why Notepad++ can handle long lines and large files so well but Atom can't.  I'll keep the faith that you'll get there, but with all the configuration options that exist I'm not sure why this one can't be configured (without a recompile).

@allencrawford Notepad++ isn't based on node.js and V8. It's totally reasonable that it can't perform the same as a native application.

I just bumped up against this, but I've noticed that when I'm on a line that wraps at the 500 character boundary there's no ability to "select to the end of the line" all of the options I've tried only "select to the end of the virtual line". ^-E correctly jumps to the end of the actual line but ^-SHIFT-E only selects to the end. Is that intended? I'm often editing long lines like this, and I'm used to using CMD-D to select a bunch of them and then reformat them all the same way. Before the 500 char boundary things were slow but manageable. I'm happy to open a separate issue if that's what makes the most sense.

 Sublime Text does not have this problem... so why does Atom? Why can't it be fixed? I have some lines that contain Looooooong comma delimited lists, and it annoys me to no end to see these wrap. Is there any plan to work on making this behaviour go away, or have the developers just given up and settled on this really unsatisfying compromise?

Why can't it be fixed?

The great thing about open source is that everyone can contribute to the codebase!  If you have ideas for how to improve Atom's performance when rendering long lines, then we'd love if you could open a new topic on Discuss to garner feedback or a PR if you have a potential code solution.

This is an extremely sad story...

Sad indeed... I was hoping that someone could tell me why Atom chokes on long lines. Why is there a performance problem.  But all the open source community seems to wants to point out is that anybody can contribute to the code base. You want to know why? Look it up for yourself.
"Atom: the hackable editor"... problem is I don't have the time to waste on it, or the desire. I just want the editor I use to work.  I've gone back to Sublime Text. ~$70 is super-cheap for a license, and it performs much better.
"Atom: I don't see what all the fuss is about"

At least could the this feature configurable with note "Use it at your own risk"

It is configurable https://github.com/atom/atom/pull/14495

It is configurable #14495

It's a little confusing poring through closed issues to find out how to turn off behavior we never asked to be turned on.
I looked in the configuration; I didn't see any option for this. (I did see that I have turned off all line wrapping options available.)
So going over #14495, I'm still not clear; do I set the maxScreenLineLength in the config? Where do I put it --- in the editor: section? What do I set it to in order to turn off line wrapping altogether?
Thanks for clarifications.

Does 1.21.1 already support this feature?
I have
...
  editor:
    fontSize: 15
    invisibles: {}
    maxScreenLineLength: 5000
    preferredLineLength: 120
    showIndentGuide: true
    showInvisibles: true
...

in my config.cson and it has no effect.

The setting is not available in 1.21, it's in 1.22 currently in beta.  The setting is Settings > Editor > Max Screen Line Length.


Tenant-qualify inbound paths of Carbon Webapps

Description:
The current inbound paths to carbon webapps do not have the tenant domain as a path parameter. This task will tenant-qualify the inbound paths by appending the tenant domain as follows,
eg: localhost:9443/t/{tenant.domain}/samlsso
This task will tenant-qualify the following Carbon webapp endpoints,

[x] /commonauth : https://github.com/wso2/product-is/issues/8197
[x] /oidc : https://github.com/wso2-extensions/identity-inbound-auth-oauth/pull/1377
[x] /samlsso : https://github.com/wso2/product-is/issues/8139
[x] /samlartresolve : https://github.com/wso2/product-is/issues/8159
[x] /identity (already follows the tenant qualfied URL pattern. Might need to change the way the tenant domain is fetched)
[x] /.well-known/web-finger : https://github.com/wso2/product-is/issues/8528
[x] /passivests : https://github.com/wso2/product-is/issues/8315

Fixed


feat/functional-paradigm-persistence

Please review before merging.

:tada: This PR is included in version 1.3.0 :tada:
The release is available on:

GitHub release
v1.3.0

Your semantic-release bot :package::rocket:


io_uring read multishot fails when trying to read a tty

Hi!
I needed to write a terminal proxy, so when I looked over my options, I figured io_uring with multishot read would be the correct solutions, so I wrote a small program to test it, but that does not seem to work.
Basically, it fails on this:
if (!(cqe->flags & IORING_CQE_F_BUFFER)) {
    fprintf (
      stderr,
      "buffer not set\n"
    );

    return -101;
  }

I am not sure to why, because it should have worked (right?).
See the full code here:
# include <stdio.h>
# include <unistd.h>
# include <stdlib.h>
# include <assert.h>
# include <sys/time.h>
# include <termios.h>
# include <liburing.h>

# define group_id 17
# define buffers_size 4
# define buffer_mask (buffers_size - 1)
# define buffer_size 32

// socat pty,link=/tmp/ttyA,rawer STDIO

static int setup_terminal (
  int terminal_descriptor
) {
  int status = 0;

  struct termios terminal_settings;

  status = tcgetattr (
    terminal_descriptor,
    &terminal_settings
  );

  if (status != 0) {
    fprintf (
      stderr,
      "failed to get terminal settings %d\n",
      status
    );

    goto exit;
  }

  terminal_settings.c_cflag = CS8 | CREAD | CLOCAL;
  terminal_settings.c_cc [VMIN] = 1;

  status = cfsetospeed (
    &terminal_settings,
    B9600
  );

  if (status != 0) {
    fprintf (
      stderr,
      "failed to set output speed settings %d\n",
      status
    );

    goto exit;
  }

  status = cfsetispeed (
    &terminal_settings,
    B9600
  );

  if (status != 0) {
    fprintf (
      stderr,
      "failed to set input speed settings %d\n",
      status
    );

    goto exit;
  }

  status = tcsetattr (
    terminal_descriptor,
    TCSANOW,
    &terminal_settings
  );

  if (status != 0) {
    fprintf (
      stderr,
      "failed to set terminal settings %d\n",
      status
    );

    goto exit;
  }
exit:
  return status;
}

int main(
  int arguments_size,
  char* arguments []
) {
  int status = 0;

  if (arguments_size < 1) {
    fprintf (
      stderr,
      "expected terminal path to be passed as an argument\n"
    );
  }

  int terminal_descriptor = open (
    arguments [1],
    O_RDWR,
    O_NONBLOCK
  );

  status = isatty (
    terminal_descriptor
  );

  if (status < 0) {
    printf (
      "%s (%d) is not a terminal\n",
      arguments [1],
      terminal_descriptor
    );
  }

  status = setup_terminal (
    terminal_descriptor
  );

  if (status < 0) {
    fprintf (
      stderr,
      "failed setting up terminal\n"
    );

    return status;
  }

  struct io_uring ring;

  status = io_uring_queue_init (
    8,
    &ring,
    0
  );

  if (status < 0) {
    fprintf (
      stderr,
      "queue_init: %d\n",
      status
    );

    return -12;
  }

  struct io_uring_buf_ring* buffer_ring = io_uring_setup_buf_ring (
    &ring,
    buffers_size,
    group_id,
    0,
    &status
  );

  if (!buffer_ring) {
    fprintf (
      stderr,
      "failed buffer ring %d\n",
      status
    );

    return status;
  }

  void* buffer = malloc (buffers_size * buffer_size);

  for (int count = 0; count < buffers_size; count++) {
    void* buffer_segment = buffer + count * buffer_size;

    io_uring_buf_ring_add (
      buffer_ring,
      buffer_segment,
      buffer_size,
      count,
      buffer_mask,
      count
    );
  }

  io_uring_buf_ring_advance (
    buffer_ring,
    buffers_size
  );

  struct io_uring_sqe* sqe = io_uring_get_sqe (
    &ring
  );

  sqe->flags |= IOSQE_BUFFER_SELECT;

  io_uring_prep_read_multishot (
    sqe,
    terminal_descriptor,
    0,
    0,
    group_id
  );

  status = io_uring_submit (
    &ring
  );

  if (status != 1) {
    fprintf (
      stderr,
      "bad submit %d\n",
      status
    );

    return -12;
  }

  struct io_uring_cqe *cqe;

  status = io_uring_peek_cqe (
    &ring,
    &cqe
  );

  if (!status) {
    if (cqe->res == -EINVAL || cqe->res == -EBADF) {
      return -12;
    }
  }

  printf ("  - waiting for data -  \n");

  status = io_uring_wait_cqe (
    &ring,
    &cqe
  );

  if (status) {
    fprintf (
      stderr,
      "wait %d\n",
      status
    );

    return status;
  }

  if (!(cqe->flags & IORING_CQE_F_BUFFER)) {
    fprintf (
      stderr,
      "buffer not set\n"
    );

    return -101;
  }

  if (!(cqe->flags & IORING_CQE_F_MORE)) {
    fprintf (
      stderr,
      "more not set\n"
    );

    return -102;
  }

  printf (
    "all good!"
  );

  io_uring_cqe_seen (
    &ring,
    cqe
  );

  return 0;
}

Run this command in one terminal: 'socat pty,link=/tmp/ttyA,rawer STDIO' and
run the program in another. When both are up, type some character - followed by enter - in the socat terminal and see the result in the program terminal.

@RogerMarcoHernandez Hi! Thank you for looking into this. A couple of questions comes do mind reading your response:

The file supports being polled and read, so what does the If the file doesn't support proper NOWAIT ... mean in terms of multishot not being able to work correctly?
Does the singelshot mean that we need to submit a new read command to the ring?

Right, w/o NOWAIT support it'll get downgraded to oneshot, then the user can issue a new request if necessary.
It's possible to execute it from a separate thread (io-wq) and then continue polling or just reissue in a waiting mode from io-wq, but I don't think there is much interest, all fast IO paths should support NOWAIT.

I must admit that I am a bit baffled.
I have opened the tty in nonblocking mode and the read call returns -EAGAIN if I ask in a loop. That should be sufficient for this to work(?).
I have another example with epoll that listen for EPOLLIN and that works as expected, so I find it a bit strange that io_uring does not work under the same conditions.

The point is that io_uring needs per-io hints, and you're relying on per-file hints. It would indeed be possible to forego the NOWAIT support IFF the file is opened O_NONBLOCK, and remains so. Unfortunately lots of drivers don't even respect O_NONBLOCK, and that would end in tears on those. We have no way of flagging O_NONBLOCK support in the kernel specifically, instead NOWAIT is used as a general condition where we know it to be safe to do.
This is the difference between "hey it works in this case I tried" and "it's guaranteed to work regardless of file type".

I see.
Let's imagine that we could set O_NONBLOCK as flag given to io_uring_prep_read_multishot or given to io_uring_register_files. Would that be enough information given to forgo the NOWAIT check in the kernel?
I am thinking that if there aren't enough information available in the kernel, then that information could be given by the api caller.

O_NONBLOCK is, by definition, not a per-io flag. It's a per-file flag. Hence it doesn't make sense to provide that to a per-command operation, in fact io_uring sets the equivalent flag for issue by itself. But io_uring cannot modify file flags, hence it cannot set O_NONBLOCK. That's up to whoever owns the file descriptor.
No matter how you look at it, this is a driver side issue for that particular file type.

After reading your comments a couple of times, I though that I should double check my code.
As it turns out, open with a O_NONBLOCK wasn't enough. I had to set  O_NONBLOCK with fcntl as well.
Now it works perfectly! Sorry to take up your time on such a mistake.
I am adding the working code here, in case someone comes across this and want to test it out.
 # include <stdio.h>
# include <unistd.h>
# include <stdlib.h>
# include <assert.h>
# include <sys/time.h>
# include <termios.h>
# include <liburing.h>

# define group_id 17
# define buffers_size 4
# define buffer_mask (buffers_size - 1)
# define buffer_size 32

// socat pty,link=/tmp/ttyA,rawer STDIO

static int setup_terminal (
  int terminal_descriptor
) {
  int status = 0;

  struct termios terminal_settings;

  status = tcgetattr (
    terminal_descriptor,
    &terminal_settings
  );

  if (status != 0) {
    fprintf (
      stderr,
      "failed to get terminal settings %d\n",
      status
    );

    goto exit;
  }

  terminal_settings.c_cflag = CS8 | CREAD | CLOCAL;
  terminal_settings.c_cc [VMIN] = 1;

  status = cfsetospeed (
    &terminal_settings,
    B9600
  );

  if (status != 0) {
    fprintf (
      stderr,
      "failed to set output speed settings %d\n",
      status
    );

    goto exit;
  }

  status = cfsetispeed (
    &terminal_settings,
    B9600
  );

  if (status != 0) {
    fprintf (
      stderr,
      "failed to set input speed settings %d\n",
      status
    );

    goto exit;
  }

  status = tcsetattr (
    terminal_descriptor,
    TCSANOW,
    &terminal_settings
  );

  if (status != 0) {
    fprintf (
      stderr,
      "failed to set terminal settings %d\n",
      status
    );

    goto exit;
  }
exit:
  return status;
}

int main(
  int arguments_size,
  char* arguments []
) {
  int status = 0;

  if (arguments_size < 1) {
    fprintf (
      stderr,
      "expected terminal path to be passed as an argument\n"
    );
  }

  int terminal_descriptor = open (
    arguments [1],
    O_RDWR,
    O_NONBLOCK
  );

  status = isatty (
    terminal_descriptor
  );

  if (status < 0) {
    printf (
      "%s (%d) is not a terminal\n",
      arguments [1],
      terminal_descriptor
    );
  }

  int flags = fcntl (
    terminal_descriptor,
    F_GETFL,
    0
  );

  status = fcntl (
    terminal_descriptor,
    F_SETFL,
    flags | O_NONBLOCK
  );

  if (status != 0) {
    fprintf (
      stderr,
      "failed to set O_NONBLOCK on terminal %d\n",
      status
    );

    return status;
  }

  status = setup_terminal (
    terminal_descriptor
  );

  if (status < 0) {
    fprintf (
      stderr,
      "failed setting up terminal\n"
    );

    return status;
  }

  struct io_uring ring;

  status = io_uring_queue_init (
    8,
    &ring,
    0
  );

  if (status < 0) {
    fprintf (
      stderr,
      "queue_init: %d\n",
      status
    );

    return -12;
  }

  struct io_uring_buf_ring* buffer_ring = io_uring_setup_buf_ring (
    &ring,
    buffers_size,
    group_id,
    0,
    &status
  );

  if (!buffer_ring) {
    fprintf (
      stderr,
      "failed buffer ring %d\n",
      status
    );

    return status;
  }

  char* buffer = malloc (buffers_size * buffer_size);

  for (int count = 0; count < buffers_size; count++) {
    void* buffer_segment = buffer + count * buffer_size;

    io_uring_buf_ring_add (
      buffer_ring,
      buffer_segment,
      buffer_size,
      count,
      buffer_mask,
      count
    );
  }

  io_uring_buf_ring_advance (
    buffer_ring,
    buffers_size
  );

  struct io_uring_sqe* sqe = io_uring_get_sqe (
    &ring
  );

  sqe->flags |= IOSQE_BUFFER_SELECT;

  io_uring_prep_read_multishot (
    sqe,
    terminal_descriptor,
    0,
    0,
    group_id
  );

  status = io_uring_submit (
    &ring
  );

  if (status != 1) {
    fprintf (
      stderr,
      "bad submit %d\n",
      status
    );

    return -12;
  }

  struct io_uring_cqe *cqe;

  status = io_uring_peek_cqe (
    &ring,
    &cqe
  );

  if (!status) {
    if (cqe->res == -EINVAL || cqe->res == -EBADF) {
      return -12;
    }
  }

  printf ("  - waiting for data -  \n");

  while (1) {
    status = io_uring_wait_cqe (
      &ring,
      &cqe
    );

    if (status) {
      fprintf (
        stderr,
        "wait %d\n",
        status
      );

      return status;
    }

    if (cqe->res < 0) {
      if (cqe->res == -ENOBUFS) {
        fprintf (
          stderr,
          "ran out of buffers ");
      }

      fprintf (
        stderr,
        "error: %d\n",
        cqe->res
      );

      return -101;
    }

    if (!(cqe->flags & IORING_CQE_F_BUFFER)) {
      fprintf (
        stderr,
        "buffer not set\n"
      );

      return -102;
    }

    if (!(cqe->flags & IORING_CQE_F_MORE)) {
      fprintf (
        stderr,
        "more not set\n"
      );

      return -103;
    }

    int buffer_index = cqe->flags >> 16;

    printf (
      "%s\n",
      (char*) buffer_ring->bufs[buffer_index].addr
    );

    io_uring_cqe_seen (
      &ring,
      cqe
    );
  }

  return 0;
}


[BEAM-1] Removal of a few windmill-related protos that aren't Beam-specific

This pull request removes windmill.proto and windmill_service.proto.

LGTM


Handle booleans slightly hackily without Int8

Unlocks use of unwrap_or in all shaders
This is obviously a massive hack, and I'm sure this opens up the ability to meet spir-v val errors.
This is also a proof of concept that a solution to #677 might be possible without resorting to codegenning all booleans as u32
It's not clear to me what the precise rules where using booleans causes trouble are, but I've kept the existing codegen for the cases where u8 can be used
ducks

As you have correctly surmised, this is a massive hack that is fundamentally incorrect, and so we can't accept this.


oven-media-engine: 0.10.8 -> 0.10.9-hotfix

Motivation for this change
Upstream update
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

already on master

already on master


Can we have file attachment within the adaptive card?

If the file is available at a URL that the user can access, you could use an Action.OpenUrl with the url property set to the file location.
{
   "type": "Action.OpenUrl",
   "title": "Download",
   "url": "https://url-to-file"
}

You could also use markdown in a TextBlock to achieve the same thing:
{
   "type": "TextBlock",
   "text": "Click [here](https://url-to-file)To download"
}

@matthidinger looking at hooking up an adaptive card with Power Automate to send get a response from a user in Teams.  What I'm after is can I have in the Adaptive Card a way for the user to attach an attachment and then the response via the adaptive card send the attachment to a SharePoint specific list row.  Appreciate your time.

Greeting dear community,
I hope you are doing well and continue coding 🚀
Our team and I, are facing the same issue.
Long story short, we have a service that generates report files, the types of those reports are :

images
Excels
CSV
We would like to POST those reports on the Microsoft Teams on a channel.
We are using the provided MS Teams webhook mechanism as it is documented here.

Regarding the image report, we created a POST on Teams' channel by transforming the image to base64 format.  In more detail, we accomplish that by executing a POST HTTP request to the MS Teams webhook mechanism using the JSON below as the HTTP body.
{
  "type": "message",
  "attachments": [
    {
      "contentType": "application/vnd.microsoft.card.adaptive",
      "content": {
        "type": "AdaptiveCard",
        "body": [
          {
            "type": "TextBlock",
            "text": "Hello, this is a message with an attached image file!",
            "wrap": false
          },
          {
            "type": "Image",
            "url": "{{base64}}",
            "wrap": true
          }
        ]
      }
    }
  ]
}

Is there any efficient way to include also the Excel and CSV reports in the POST on Teams' channel ??
(Without uploading those reports to the server and attaching them using URLs)
I remain at your disposal for any ideas, comments, or proposals.
Thank you and appreciate your time and effort in advance 🙏


git in container not finding .git folder

Does this issue occur when all extensions are disabled?: yes
assist with this. -->

VS Code Version:
-1.67.0
OS Version:
ubuntu 20.04
Steps to Reproduce:

clone repo from github with Dockerfile
build docker
open in docker
reboot computer
open again
go to git page - see "no git  folder ..." message

@DanTaranis, sorry for not getting back to you on this. Could you share a repo that I can use to repro this? Thanks!


Can you create example for Angular? I get error -  TypeError: Cannot read properties of undefined (reading 'nativeElement')

this is my page
  <StackLayout orientation="horizontal">
            <canvasView #canvas width="300" height="300" style="border-width: 1; border-style: solid; border-color: red;" (draw)="draw($event)" (tap)="canvasTap()" />
  </StackLayout>

this is code
   export class ItemDetailComponent implements OnInit {

     @ViewChild("canvas", { static: false }) canvasElementRef: ElementRef<CanvasView>;
     canvas:CanvasView;

     ngOnInit(): void {
       registerElement('CanvasView', () => CanvasView);
       this.canvas=this.canvasElementRef.nativeElement
     }

     canvasTap(){
         this.canvas.backgroundColor = "green"
     }
   }

line "this.canvas=this.canvasElementRef.nativeElement" produced error: TypeError: Cannot read properties of undefined (reading 'nativeElement'). Without this line there is nothing reference to nativeElement and nothing showing on page.
Where is mistake?

@AAlex-11 there is an example in the doc https://github.com/nativescript-community/ui-canvas?tab=readme-ov-file#nativescript--angular
as for  this.canvas=this.canvasElementRef.nativeElement it is an angular issue not related to this plugin.

thank for answer, @farfromrefug I use a couple of your modules, it working fine, for example gesture module,
but I still don't understand how to use this Canvas

Hm... canvasElementRef.nativeElement - working fine with any other native Android component
and I don't see in this CanvasView any meaningful Android methods https://developer.android.com/reference/android/graphics/Canvas, for example drawARGB

@AAlex-11 if you go in the draw event then it is working. now i dont know what event.Proxy is supposed to be but it does not come from that plugin
Here is a vue example of how it works https://github.com/nativescript-community/ui-canvas/blob/master/demo-snippets/vue/Simple.vue#L24. CanvasView does not expose Canvas methods. Those methods are on the Canvas object you get from the event

Thank you. Your example code is working with Angular.

@AAlex-11 you need to pass the bitmap/imageSource on Canvas creation as you would on Android (native). In the case of canvasview you cant as it is not a normal Canvas (RecordingCanvas). You need to search on the web on how to get image from view "screenshot"


Is there any way to reduce size of dist file?

Minified file size is ~250 KB and it is just too much. Is there any way to make custom build? Or any advice on this?
for e.g. even angular.min.js size is 123 KB

yes, we plan on eventually offering separate .js files based like ui-grid.core.js, ui-grid.cellnav.js, etc.  Just need someone with time to change the grunt build?  Volunteers?

Any update on this?

Any updates??

+1

We have no updates on this as of yet. But pull requests are welcomed.

This was done. I recommend using version 4.4.1.


text

You are strongly encouraged to ask questions on GitHub Discussions. By filing a question in our Issue System, you
should expect long response times. Visit https://github.com/demikernel/demikernel/discussions for opening up a
discussion / question.

Context
Please provided the context that motived your question.
Question
A clear question that you have. Keep it simple and straight to the point, since you have already provided the context for it before.

Incomplete info.


Add HIP-729 Contract Nonces

Problem
The Hedera consensus nodes will release a new feature that includes exposing contract nonces.
Hedera Improvement Proposal:

[x] https://hips.hedera.com/hip/hip-729

Hedera Protobuf:

[x] https://github.com/hashgraph/hedera-protobufs/pull/257

SDKs

[x] https://github.com/hashgraph/hedera-sdk-java/issues/1411
[x] https://github.com/hashgraph/hedera-sdk-js/issues/1644
[x] https://github.com/hashgraph/hedera-sdk-go/issues/749

Solution
Add information about contract nonces.
Alternatives
No response

Contract nonce is returned in ContractFunctionResult from the transaction record here: https://docs.hedera.com/hedera/sdks-and-apis/sdks/transactions/get-a-transaction-record


feat: archon hunts

Description
Adds a card for archon hunts. Should be easy since it's just like sorties, so just gonna reuse the same card
Type of Change

[x] ✨ New feature (non-breaking change which adds functionality)
[ ] 🛠 Bug fix (non-breaking change which fixes an issue)
[ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
[x] 🧹 Code refactor
[ ] ✅ Build configuration change
[ ] 📝 Documentation
[ ] 🗑 Chore

@TobiTenno that's gonna be fine for now right? since I have no idea what's gonna happen down the line, seemed smart to just get the bare minimum and add stuff later.

otherwise, yeah, that should be all that's needed

So the only thing missing here is notifications.

:tada: This PR is included in version 2.8.0-beta.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.8.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Translation from EN to PT

Islands mode was translated as McDonald instead of Ilhas.

Detalhes do documento
⚠ Não edite esta seção. É necessário para a vinculação do problema do docs.microsoft.com ➟ GitHub.

ID: 49921e8a-55ac-f547-d4e2-d329f5089c2e
Version Independent ID: 91c3433a-3684-95cd-3426-4a5877b33106
Content: Orientações de migração e interoperabilidade para organizações que usam o Teams em conjunto com o Skype for Business
Content Source: Teams/migration-interop-guidance-for-teams-with-skype.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@ddaanniieell9 Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@ddaanniieell9 Thank you for raising this issue. I will be looking into it.

@scanum  @LanaChin Their issue does check out and "McDonald" is in multiple places in the link they provided. Sadly, I do not have the appropriate permissions to make edits for non-English pages. I also feel those changes should be made by the Doc group that handles the Portuguese section of the Docs. I would appreciate any help in bringing this issue to their attention.

@LanaChin Could you please help out with this issue? Thanks!

Reached out to localization contact.

@OfficeGlobal please uplift this topic to human translation for Portuguese.

@TinaMcN working on a fix (Bug 3817004)

@ddaanniieell9 , @TinaMcN the article has been HumanTranslated and published live

Thank you @OfficeGlobal. Closing this issue.


Add a native tokens tutorial and exercises to a newly created MA folder

@Jimbo4350 As per our discussion yesterday, I've created a new 'native tokens' folder where I moved 'multi-assets', added a tutorial, exercises, and exchange management scenarios. Please review & thank you!
The existing multi-assets file is different from exchange-scenarios so there was no need in merging them together.

@olgahryniuk you need to create a branch off of master. Currently you are committing directly to master.

Jordan, this is a separate branch. I forked the node repo and renamed it to native tokens: https://github.com/input-output-hk/cardano-node-native-tokens-folder-TW.


Python example needs the package cryptography

Without installing the package cryptography, it the app while throw the following error:
File "/app/main.py", line 51, in wrapper keys = _get_public_keys() File "/app/main.py", line 37, in _get_public_keys public_key = jwt.algorithms.RSAAlgorithm.from_jwk(json.dumps(key_dict)) AttributeError: module 'jwt.algorithms' has no attribute 'RSAAlgorithm'

A bit more context: this is happening on a Dockerized (Google Cloud Run) environment, without cryptography in the requirements.txt.
After adding the cryptography in requirements.txt it works fine.


BorderColor Dont working in React Native Windows Desktop

React native windows dont support to border*Color and Nativewind output has 4 item for borderColor. I want to just borderColor:red.How can I fix it.Thank you

This has been resolved. NativeWind will not preserve the shorthand values for most properties


Mismatch of supported regex

Bug description
The docs at https://istio.io/latest/docs/reference/config/networking/virtual-service/ (and possibly other pages) say that regex follows ECMAscript syntax. However, when I put invalid regex in a VirtualService .spec.http.match.uri.regex value I got this error
 Error: UPGRADE FAILED: failed to create resource: admission webhook "validation.istio.io" denied the request: configuration is invalid: "uri": error parsing regexp: missing argument to repetition operator: `*`; Istio uses RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax)

"RE2" and "ECMAscript" are not entirely the same and its unclear which one is actually supported.
[X] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
I expect that the docs and error messages align
Steps to reproduce the bug
Put invalid regex syntax at .spec.http.match.uri.regex in a VirtualService and apply. It should fail and produce the above error message
Version
Istio 1.8.0
How was Istio installed?
via Helm

"RE2" and "ECMAscript" are not entirely the same and its unclear which one is actually supported.

RE2 is supported and not the ECMAscript. See https://github.com/istio/api/pull/1327


whatsapp bot added

Pull Request Template
script name -
Brief about script
Issue no.(must) -
Self Check(Tick After Making pull Request)

[ ] This issue was assigned to me.
[x] One Change in one Pull Request
[x] My file is in proper folder (Name of folder should be in lowercase with no space in between)
[x] I am following clean code and Documentation and my code is well linted with flake8.
[x] I have added README.md and requirements.txt with my script

If issue was not assigned to you Please don't make a PR. It will marked as invalid.

@urmil89, thanks for your contribution, Please raise an issue related to it, and fix flake8 errors

@all-contributors add @urmil89  for code


[GodotPhysics] Inconsistent physics detection for a certain collider

Godot version
4.0 alpha 14
System information
Linux Manjaro, Vulkan, Intel Kaby Lake
Issue description
A certain collider is intermittently NOT being picked up by physics (detection, collision works always). It will be picked up for a couple of frames/seconds, then not picked up while still in the shapecast/being pointed at by a raycast. Car speeds are very low when this happens - I axed HUD entirely for this minimal repro but they rarely exceed 60 kph in the city except on the longest straight, and meshes involved are in the corners where speeds are usually 15-20 kph at most (i.e. 4-5 m/s). Due to low speeds involved, I do NOT think it's a tunnelling issue.
Haven't tried Area3D but since raycasts and shapecasts both have the problem (actually I was hoping shapecast would finally detect the fr**** lamps) I think it's a physics issue. Physics engine is DEFAULT, whatever it means currently.
Steps to reproduce
Load the minimal repro, run main.tscn, drive around a bit with visible collision shapes ON. You'll see that in some cases, both the shapecast and raycasts will fail to detect the streetlamp even though it's well within the shape

.
Layers are set so that the ground collision is ignored, also ignore the fact the car is fugly ;P
Arrows to drive, T to switch to top-down camera
Minimal reproduction project
PhysicsTest.zip

Nb. I just changed the collider to two cylinders (in my main project) and so far so good, haven't been able to trigger this and I'm seeing AI got markedly better at detecting the lamps, so it's either convex shape or its complexity (please please have Godot tell us somewhere how complex the fripping shape is!)

(please please have Godot tell us somewhere how complex the fripping shape is!)

Look at the number of points when editing a ConvexCollisionShape in the inspector.

I can confirm this on 4.0.1.stable (Linux).
Minimal reproduction project updated for 4.0.1: PhysicsTest_4.0.zip
https://user-images.githubusercontent.com/180032/228614494-b8db2747-cfa5-4555-bca0-0663a55b6e6a.mp4


M3-3772: Replace DefaultLoader() with React.lazy()

Description
The react-loadable library that is used in DefaultLoader is not active, so instances of DefaultLoader() throughout the codebase are replaced with React.lazy().
Essentially, where this pattern existed:
const KubernetesLanding = DefaultLoader({
  loader: () => import('./KubernetesLanding')
});

it was replaced with
const KubernetesLanding = React.lazy(() => import('./KubernetesLanding'));

and the import statement for DefaultLoader at the top of the file was removed accordingly.
Note to Reviewers
To confirm nothing has broken from these changes, please navigate through the app and ensure that nothing crashes due to a module not being found
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration.

Investigating what modifications/tweaks need to be made at the manager/src/index.tsx level for this pattern change to work there.


Fix missing shared functions from aggregator toString

@wheresrhys is this cool? Any idea why the aggregator toString function was only stringifying shared functions if they were postProcessors?

This is probably fine. If it does need to be there it's probably for some weird edge case dating from before there was decent test coverage. Good that you wrote a test, so if it does break things it'll be easier to figure out a generic fix

Nice, thanks!


nuget sign assembly

In nuget, the dll is not signed, can yoy update the assembly?
Thanks

https://github.com/reactiveui/ReactiveUI/issues/43#issuecomment-37471892

I do not agree, sign the assembly ensures the integrity of software.
As I see not intend to generate two packages nuget one signed and one unsigned.
The problem is that downloading the source code'm unable to compile even downloading all dependencies.
I remain unable to use this library

https://www.nuget.org/packages/Nivot.StrongNaming you are welcome to sign it yourself?

Also worth reading: http://www.outercurve.org/blog/2014/03/25/Strongnaming-I-Do-Not-Think-It-Means-What-You-Thin/


The plutus-pab-examples executable consumes a lot of memory and gets killed due to OOM 😱 😭 😵

Summary
We have set up a server just to be able to follow the test-node instructions:
x86_64
12 CPU cores
24 GB RAM
80 GB swap
But the plutus-pab-examples executable seems to be killed due to OOM.
At block 11 752 the amount of swap used was 22 GB
At block 15 427 (slot 6 959 416) the amount of swap used was 72 GB
And that's far from completion:
According to the testnet explorer, at the moment of submitting the issue, the latest slot on testnet is 55 601 949, block 3 474 971
If it will help to find the problem, we can provide SSH access to the server.

Steps to reproduce the behavior
https://github.com/input-output-hk/plutus-apps/tree/main/plutus-pab/test-node
Actual Result
The pab examples sync process does not complete due to OOM
If it will help to find the problem, we can provide SSH access to the server.
Expected Result
The pab examples sync process completes
Describe the approach you would take to fix this
No response
System info
OS: Ubuntu
Version: 18.04
plutus-apps: v2022-04-06

Could you please share your observations if there are any? when the memory usage increases? after the integration test contract endpoint activation?

Integration test not started.
Please tell me your email/telegram/other contact, so that I could give you an access to the server.
It doesn't contain anything private at the moment.

I've just tried running plutus-pab-examples with --rollback-history 1000, But I have no idea whether 1000 is a sane value or not.
It is still synchronizing, Current block: 26 939. Current slot: 8 253 200, which is more successful, and memory consumption looks more healthy.

Yeah, reducing the rollback history might help a bit but is not a general case. Working on the fix.

If it helps anyone: setting the dev options to the current slot, cleaning the contract db (rm my.db + migrate), and rerunning leads to a PAB service that is stable for a while. Enough for developing with at least.

If it helps anyone: setting the dev options to the current slot, cleaning the contract db (rm my.db + migrate), and rerunning leads to a PAB service that is stable for a while. Enough for developing with at least.

To make it more explicit,  unconment the lines here of pab-config.yml  to:
developmentOptions:
pabRollbackHistory: null
pabResumeFrom:
#{ "tag" : "PointAtGenesis" }
{ "tag" : "Point"
, "pointBlockId" : " enter here the last block id from the log of the cardano node"
, "pointSlot" : { "getSlot" : the slot }
}
And now it seems to synchronize well. Following https://youtu.be/X6AyZIZ0vaE?t=769

I would like to know why the PAB app needs to sync
It may be important for the knowledge of the cardano blockchain.
Is it because of the possibility of deep pullbacks?

up


Single space expected

The plugin only works for lines with a single space. If I use a space before and after the equals sign it won't work.
Line of my build.gradle: versionName = "0.1.0"
Found version name: =

The version 0.2.1 should fix this issue.


predefined drivers configuration not fully working

System information:

Operating system: Windows Server 2019 standard
DBeaver version: <IP_ADDRESS>004191823
Additional extensions: none

Connection specification:

Database name and version: Postgres
Driver name: org.postgresql.Driver (postgresql-42.2.12.jar)
Do you use tunnels or proxies (SSH, SOCKS, etc): no

Describe the problem you're observing:
I am trying to set up a Dbeaver installation for all users logging into the server.
The server is on the internal network and cannot access the internet, so i have to pre-configure
the database driver to connect to our postgres database.
The pre-configured driver.xml file does not fully work - when starting up, dbeaver still inserts maven settings into the driver config.
Note that the server supports multiple simultaneous users via RDP - any of whom should be able to start dbeaver and set up a connection to postgres without having to download or configure the driver.
Steps to reproduce, if exist:
Install dbeaver using the default settings.
Following the section 'Provide predefined drivers configuration' in the guide , create a drivers.xml file in C:\Program Files\DBeaver\shared_drivers :
<?xml version="1.0" encoding="UTF-8"?>
<drivers>
	<provider id="wmi"/>
	<provider id="athena"/>
	<provider id="db2"/>
	<provider id="db2_zos"/>
	<provider id="db2_i"/>
	<provider id="elasticsearch"/>
	<provider id="exasol"/>
	<provider id="jaybird"/>
	<provider id="generic"/>
	<provider id="bigquery"/>
	<provider id="google_spanner"/>
	<provider id="greenplum"/>
	<provider id="h2gis"/>
	<provider id="hana"/>
	<provider id="kognitio"/>
	<provider id="sqlserver"/>
	<provider id="mssql"/>
	<provider id="mysql"/>
	<provider id="ocient"/>
	<provider id="open-distro-elasticsearch"/>
	<provider id="oracle"/>
	<provider id="postgresql">
		<driver id="postgres-jdbc" categories="sql" custom="false" embedded="false" name="PostgreSQL" class="org.postgresql.Driver" url="jdbc:postgresql://{host}[:{port}]/[{database}]" port="5432" description="PostgreSQL standard driver">
			<library type="jar" path="C:\Program Files\DBeaver\shared_drivers\postgresql-42.2.12.jar" custom="true"/>
		</driver>
	</provider>
	<provider id="snowflake"/>
	<provider id="vertica"/>
</drivers>

Edit the dbeaver.ini file to point it to the driver config:
-startup
plugins/org.eclipse.equinox.launcher_1.5.700.v20200207-2156.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1100.v20190907-0426
-vmargs
-XX:+IgnoreUnrecognizedVMOptions
--add-modules=ALL-SYSTEM
-Xms64m
-Xmx1024m
-Ddbeaver.drivers.configuration-file=C:\Program Files\DBeaver\shared_drivers\drivers.xml

Start Dbeaver, then navigate to Database > Driver Manager > PostgreSQL > Edit
Under the libraries tab, the maven co-ordinates for the drivers appear, and are ahead of the driver file (which does display as the 3rd item in the list).
However, when trying to create a connection using the driver, dbeaver still attempts to connect to maven. Since the server is not connected to the internet, this results in an error.
The point being however - i have explicitly provided a driver.xml configuration file, so the maven co-ordinates should NOT be added?

Thanks for the bug report. Indeed, driver library config must be fully replaced when it is specified thru dbeaver.drivers.configuration-file parameter. Now configs are merged so Maven artifact remains in the driver.

No worries.
Happy to help out if this is a suitable beginner task - just point me in the right direction and i'll see if i can make the change.

verified

fixed in 7.1.0


failed to verify certificate when getting oidc configuration from idp

Can't fetch oidc discovery data with self signed cert. We need to add configuration to support this or document how to add additional ca bundles into the application.
Error: issue creating opentdf server: failed to create authentication interceptor: Get "https://opentdf-keycloak-service:8443/auth/realms/opentdf/.well-known/openid-configuration": tls: failed to verify certificate: x509: certificate is not valid for any names, but wanted to match opentdf-keycloak-service
time=2024-04-19T02:15:18.070Z level=ERROR msg="issue starting opentdf" error="issue creating opentdf server: failed to create authentication interceptor: Get \"https://opentdf-keycloak-service:8443/auth/realms/opentdf/.well-known/openid-configuration\": tls: failed to verify certificate: x509: certificate is not valid for any names, but wanted to match opentdf-keycloak-service"

I was able to resolve this without modifying any code by placing a new trust bundle in /etc/ssl/certs
https://go.dev/src/crypto/x509/root_linux.go


Allowing inbound swap amount lower than min swap

Overview
We are sometimes allowing transactions below the minimum swap amount for THORSwap to be built.
References and additional details
An example is https://viewblock.io/thorchain/tx/C20A6BDCFD060A6A61E4A799CF856F1DBA3518F86F06BF9AD691DC88C3E97EC3
Acceptance Criteria
These should be caught at the trade quote screen - we should never reach the trade preview step for these type of trades.
Need By Date
No response
Screenshots/Mockups
No response
Estimated effort
No response

@0xApotheosis is this still valid? believe this should be fixed with swapper robustness lately

Yep, this guy is fixed.


fix(forms-web-app): fix labels on document date filters

fixes regression caused by ASB-1202 where the 'remove date from/to' filter buttons on the documents page no longer had labels

:tada: This PR is included in version 2.15.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Update package and all dependencies

I frequently need to update a package, but then find that its dependencies also need to be updated in order for it to work properly. Currently, the only way to update both a package and its dependencies is to either update all packages, or manually identify the dependencies and update them individually. Neither strategy is ideal. We should provide a good UI for this frequent operation.

Is this the way to update to latest and greatest of all installed packages?
Is there a way to see

what packages have newer versions
what packages were affected by for example straight-fetch-all?

As mentioned in (some issue thread that I know exists but cannot find), you can figure out what was changed by doing a diff on your lockfile before and after the update. This of course requires you to version-control your lockfile and write it after each update, which is strongly recommended in any case.
To identify which packages have newer versions, you need to do a straight-fetch-all (or straight-x-fetch-all). It can't be done without fetching because unlike with package.el there's no central database. Now as for inspecting the result and seeing what needs to be updated, you could write a little function that would inspect the difference between master and origin/master in each repository. (Actually, you can do better, because straight.el knows what primary branch is used in each repo even if it's not master.) Such a function hasn't been added to straight.el yet, but it should be. Feel free to open an issue or pull request on the topic, if you'd like.

That sounds great already.
Can you please point me to where I find the relevant lockfile?

This is in the documentation: https://github.com/raxod502/straight.el#lockfile-management


Interested in an implementation that uses GDScript?

Hi,
I really appreciate the effort that was put into this addon.
I'm not sure about the level of interest in a GDScript (Godot 4.x) implementation of this addon. That said, I'd like to share my implementation: Gist TrailRenderer-GDScript

@IAmBaguette Hi, the link you provided does not work for some reason. If you want contribute to this repo by adding a GDScript implementation you are welcome to do so. I will review your additions and if everything works as expected merge them.

@Hyrdaboo Sorry about that. I have updated the link and it should now work correctly.
Is there any particular folder you would like me to place it in? I split the classes into their own individual files (4).

@IAmBaguette Hi, addons/TrailRenderer/Runtime/GD would be nice. You can fork this repo and add your files to said directory then go ahead and make a pull request so I can approve them. Here's an article just in case you don't know how to do that.

@Hyrdaboo Thanks for the guidance. I have created the pull request: https://github.com/Hyrdaboo/TrailRenderer/pull/2

@IAmBaguette Tested it and everything seems to be working fine. Good job👍


[Bug] Doubly defined objects in the output specification #260

When we have:
@component
@dataclasses.dataclass
class Location:
    x: int
    y: int
@component
@dataclasses.dataclass
class UserProfile:
    name: str
    age: int
    email: str
    location: Location #Path

Location is define twice in the output schema. Once in components, once again within UserProfile.
This is deeply problematic for code generators which depend on generating a single class for both. ( openapi-generator-cli, for example, produces two Location classes and one cannot be used where the other is used).
UserProfile should have a ref to Location and Location should be added as a component whether or not it has the @component decorator:
{
   "$ref": f"#/components/schemas/{Location.__name__}"
}

import os
import dataclasses

from sanic import Sanic, text, Request
from sanic_ext.extensions.openapi import openapi
from sanic_ext.extensions.openapi.definitions import Response, RequestBody
from sanic_ext.extensions.openapi.openapi import component

# from typing import List

app = Sanic("app")

@component
@dataclasses.dataclass
class MyBody:
    email: str
    # @property
    # def something(self) -> int:
    #     print("Oh no you didn't!")
    #     return "OK2"

@component
@dataclasses.dataclass
class Location:
    x: int
    y: int

@component
@dataclasses.dataclass
class UserProfile:
    name: str
    age: int
    email: str
    # locations: List[Location] #Path
    location: Location #Path

    @property
    def something(self) -> int:
        print("Oh no you didn't!")
        return "OK"

@app.post("/")
@openapi.definition(
    body=RequestBody({"application/json": {
                    "$ref": f"#/components/schemas/{MyBody.__name__}"
                }}, required=True),  # if body else None,
    # body=RequestBody(Body, required=True),
    # summary="User profile update",
    # tag="one",
    # description=openapi.description(textwrap.dedent(func.__doc__)) if func.__doc__ else None,
    response=[  # Success,
        Response({
            "application/json": {
                "schema": {
                    "$ref": f"#/components/schemas/{UserProfile.__name__}"
                }
            }
        }, status=200)
        # Response(Failure, status=400)
    ],
)
def root(req: Request, *args, **kw):  # body:UserProfile):
    """
    Short description

    Long Description
    """
    return text("Hello")

ref: https://github.com/sanic-org/sanic-openapi/issues/260

Similarly:   https://github.com/sanic-org/sanic-openapi/issues/259
import dataclasses

from sanic_ext.extensions.openapi import openapi

@dataclasses.dataclass
class Path:
    x: [float]
    y: [float]

    @property
    def reversed(self) -> "Path":  # Recurses
        return Path(
            x=self.x[::-1],
            y=self.y[::-1],
        )

openapi.component(Path)   # Infinite loop

...
  File "/home/sir/venv/py3/lib/python3.10/site-packages/sanic_ext/extensions/openapi/types.py", line 446, in _extract
    hints = get_type_hints(item.fget)
  File "/usr/lib/python3.10/typing.py", line 1871, in get_type_hints
    value = _eval_type(value, globalns, localns)
  File "/usr/lib/python3.10/typing.py", line 327, in _eval_type
    return t._evaluate(globalns, localns, recursive_guard)
  File "/usr/lib/python3.10/typing.py", line 694, in _evaluate
    eval(self.__forward_code__, globalns, localns),
  File "<string>", line 1, in <module>
RecursionError: maximum recursion depth exceeded while calling a Python object

This is failing due to:
#openapi/types.py

        return cls(
            {
                k: Schema.make(v, **extra.get(k, {}))
                for k, v in _properties(value).items()          # Does not need to inspect properties for dataclass or Pydantic objects
            },
            **kwargs,
        )

It similarly fails without recursion:
import dataclasses
from typing import Tuple, List
from sanic_ext.extensions.openapi import openapi

@dataclasses.dataclass
class Path:
    x: [float]
    y: [float]

    @property
    def points(self) -> List[Tuple[float, float]]:
        pass

openapi.component(Path)

...
Traceback (most recent call last):
  File "/home/sir/venv/py3/lib/python3.10/site-packages/sanic_ext/extensions/openapi/types.py", line 417, in _properties
    annotations = get_type_hints(cls)
  File "/usr/lib/python3.10/typing.py", line 1856, in get_type_hints
    raise TypeError('{!r} is not a module, class, method, '
TypeError: typing.Tuple[float, float] is not a module, class, method, or function.

There's really no need for sanic to inspect property return types to discover model attributes. Dataclasses, Pydantic or type annotations on the class constructor all provide what is needed.

I have a fix both, do you want a PR?

I beleave you can create a PR, but according to commit history and pull requests opened it is not going to be merged.


Autoplay Video on Mobile

Hello all!
I am trying to make the video to Autoplay on Mobile. Autoplay video works fine on Desktop but not on IOS devices.
Has anyone been able to make this work on Mobile?
Kind regards

That is related to restrictions applied by browser vendors on mobile devices. More info:

https://webkit.org/blog/6784/new-video-policies-for-ios/
https://developers.google.com/web/updates/2016/07/autoplay

@alejandroiglesias From my testing results this is a restriction of Swiper and not iOS. iOS autoplaying works on iOS10+ if the video is the first slide in a full width slideshow. However, if the video is not the first slide (so it's initially hidden), iOS detects that and won't play the video since it thinks it's hidden.


chore: bump compiler-cli version

R: @kara
(also sneaking in two other tiny changes)

Closing this as stale.


Add missing block arg for fields

The dynamic methods created by the form helper are missing the block param which makes it impossible to render slots in custom components.
Does this need a bit of test coverage before it can go in?

Thanks for your contribution @wooly! Yes, please add test coverage for this.
The methods do not include the block argument because our aim is to mirror Rails' helpers (see for instance radio_button)

Ah yes, I see. Perhaps there's a different way to do what I want to do, if you may have some suggestions?
I'm trying to allow the user to specify a piece of html to be rendered next to the input, like the go button in the below screenshot:

The way I was thinking to do it was to provide a slot for my text field component called append, and then use it like this:
<%= f.text_field :append_example, label: 'With append', placeholder: 'With append' do |c| %>
  <% c.with_append do %>
    BTN
  <% end %>
<% end %>

but this isn't currently possible, since it appears that in my child the block isn't yielded so the with_append is never called. Unpolished code is below to have a squizz at.
module Gaia
  class TextFieldComponent < ViewComponent::Form::TextFieldComponent
    include FormHelpers
    include ViewComponentsHelper

    renders_one :append

    def html_class
      class_names('gaia-input', 'has-error': method_errors?)
    end

    def call
      wrapper_tag do
        concat label_tag

        if append
          concat input_with_inline(super)
        else
          concat super
        end

        if has_errors?
          concat content_tag(:span, error_message, class: 'gaia-input-error')
        elsif help_message.present?
          concat content_tag(:span, help_message, class: 'gaia-input-help')
        end
      end
    end

    private

    def input_with_inline(input)
      render(Inline::Component.new(spacing: :xxsmall)) do
        concat input
        concat append
      end
    end
  end
end

Can you think of a neater way?

Thanks for elaborating, I understand your use case better.
My approach for this is to create another helper, such as group, that's in charge of wrapping your main field, adding a label, a hint, a prefix / suffix, etc.
That the 2. in this comment.
Let me know if it helps or if you'd like further guidance!

Thanks for the quick reply! I had seen the group, but felt it wouldn't fit my use case. The reasoning for this is that the appended HTML has the addon below and beside the input field itself. So in the case of no append, the DOM would look something like this:

  Foo
  <input>
  <help>

But in the append case, the DOM would look roughly like this:

  Foo

    <input>
    <button>Some Button</button>

  <help>

And I couldn't quite figure out how to replicate this behaviour with the group.

@Spone do you have any suggestions on how to test this?
I don't think I can use a shared example set since it's the base component that is rendered rather than a custom one with a slot. My plan was to add a text_field_with_slot_component here, and verify that it would render the slot HTML.
What do you think?


Empty Dashboard in Grafana 5.4.0

Hi,
I'm not receiving any data in the default dashboard "Zabbix Server Dashboard".
I checked the Group/Host - is the same as in Zabbix (Zabbix server).  By pressing on the Query Inspector - I cannot see the query - just loading. Is this plugin compatible with Grafana 5.4 and Zabbix 4.0?
Grafana Plugin: 3.9.1
Grafana Version: 5.4.0
Zabbix Server: 4.0 LTS
Thank You.

the same issue also

Sorry, it was PC time drift problem. After fixed the time on pc and server, everything is good now.

Sorry, the problem was in wrong user rights.


Improve "save" functionality

Currently, saving a wool scripts simply "downloads" a wool file with the currently loaded file name. It would greatly improve workflow to allow "save" to overwrite the currently loaded file.

This is not possible with a browser-only environment. The Electron version now saves directly to the currently loaded file.


toolrunner failing in Win7 with ENOENT when running a command globally installed with npm-g

I am experiencing an issue which I think it is related with this node issue 2318
I have a build definition with one step only with the task Npm and configured to do do just npm --version. When I run a build in my Win7 I'm getting an error
return code: 1
After some debugging, here is the error that is being bubbled in the promise rejected by the toolrunner
C:\Users\bfcamara\AppData\Roaming\npm\npm failed. spawn C:\Users\bfcamara\AppData\Roaming\npm\npm ENOENT

Here is what I see in the VSTS console
******************************************************************************
Starting task: npm install
******************************************************************************
Set workingFolder to default: E:\Temp\VsoAgent\tasks\Npm\0.2.0
C:\Users\bfcamara\AppData\Roaming\npm\npm install --version
Promise rejected with Error: C:\Users\bfcamara\AppData\Roaming\npm\npm failed. spawn C:\Users\bfcamara\AppData\Roaming\npm\npm ENOENT
return code: 1
******************************************************************************
Finishing task: Npm
******************************************************************************

I'm getting this error in any build task that are wrappers for node commands installed globally. From what I could investigate the tl.which("npm") is returning the full path without the extension .cmd. Then it seems there is a known issue in  child_process.spawn on windows that it doesn't look for the path with known executable extensions (.cmd, .bat, etc.)
I found this issue while I was doing some tests with a custom build task that is a wrapper for '''tfx extension''' command,

This is a known issue with Shelljs.
https://github.com/shelljs/shelljs/issues/238
modify shelljs code under your node_modules folder like this: https://github.com/shelljs/shelljs/pull/239

In my latest PR for vso-task-lib, i implement Which() on windows platform until Shelljs fix there which().

it sounds like this was fixed


Profile picture not visible on mobile

When visiting https://www.inter-actief.utwente.nl/profile/, the profile picture is not visible on mobile. When rotating the screen it appears, but it does not when in portrait orientation.
Phone: Samsung Galaxy A9-70F
Browser: Brave 1.60.110, Chromium 119.0.6045.105

Problem is with resizing the page. Changing the width of the page minimizes the picture until it becomes invisible


PlaceKit replacement

http://www.placekit.io/ redirects to
https://business.mapquest.com/products/points-of-interest-data/
does this change if it should be on awesome-ios ?

I think we should remove it. @vsouza ?

I feel the same way too. Let’s do it


[BEAM-498] Port some example utils from OldDoFn to DoFn

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[x] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[x] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[x] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

R: @dhalperi

Jenkins got killed in the middle of testing this; rebasing to kick.

R: -@dhalperi @tgroh
Thomas has touched this code most recently, is probably a better reviewer.
CC: @hadarg @francesperry  -- do these changes to mobile gaming example affect the example writeup at all?


Back to smart filter for the last few hours

To address this concern, https://ldjam.com/events/ludum-dare/40/defense-2150-bc/a-problem-and-a-call-to-action
Changes the default to filter back to smart. I suggest pushing this 12 hours before the deadline.

Ha! I was just about to do this myself. Thanks Zak. 😁
On Dec 27, 2017 14:20, "Zak West"<EMAIL_ADDRESS>wrote:

You can view, comment on, or merge this pull request online at:
https://github.com/ludumdare/ludumdare/pull/1539
Commit Summary

Back to smart filter

File Changes

M src/com/page/event/games/games.js
https://github.com/ludumdare/ludumdare/pull/1539/files#diff-0 (2)
M src/com/page/home/games/games.js
https://github.com/ludumdare/ludumdare/pull/1539/files#diff-1 (2)

Patch Links:

https://github.com/ludumdare/ludumdare/pull/1539.patch
https://github.com/ludumdare/ludumdare/pull/1539.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ludumdare/ludumdare/pull/1539, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABf2CcZHexO7vTuOe6ElBaAf9ZAF7knuks5tEpiMgaJpZM4RNvsq
.


How to use video attribute in bread as input type equal to file

Version information

Laravel: v#.#.#
Voyager: v#.#.#
PHP: #.#
Database: [type] [version] (e.g. MySQL 8.0)

Description

A clear and concise description of what the bug is.
Steps To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

From the issue template:

The following information is required for bug reports.  Issues without it will be closed without response

And

IF YOU'RE POSTING A QUESTION ABOUT HOW TO USE VOYAGER, PLEASE CONSIDER ASKING IN SLACK FIRST


Use 1 minute periods for ConsumedReadCapacityUnits / ConsumedWriteCapacityUnits

In cloudwatch these appear to be available at 1 minute resolution, but currently we set alarms based on 5 minutes.
We also would need to change the threshold calculation - this is currently multiplied by 5 x 60 because the metric used is sum.

We do this for the new implementation of dynamo alarms. Closing this as it means people can move over to the new config if they want it.


Use STS to get user information to support using session tokens

This is in reference to issue #21
I've tested a build of this locally and it does acquire locks with session tokens

If the STS UserId from the getCallerIdentity call is not a 1:1 match for the username that came back from iam.getUser, some variables that are named "username" should probably be renamed for clarity purposes

Fantastic, thanks! A few questions:

Do all the test pass? You can run them using go test -v $(glide novendor). We've unfortunately had to disable the CircleCI job for PRs as our tests involve AWS creds (see here for more info).
Is an IAM permission necessary for the sts:GetCallerIdentity?

An iam isn't necessary for getCallerIdentity as far as I can tell (there
is no checkbox to enable it in their policy builder tool, but they have one
for everything else. Others who were more involved with the changes to
terraform have said it doesn't require any iams)
I'll run all the tests in a little bit and confirm the work.
On Tue, Sep 13, 2016, 6:06 PM Yevgeniy Brikman<EMAIL_ADDRESS>wrote:

Fantastic, thanks! A few questions:

Do all the test pass? You can run them using go test -v $(glide
novendor). We've unfortunately had to disable the CircleCI job for PRs
as our tests involve AWS creds (see here for more info
https://circleci.com/docs/fork-pr-builds/).
Is an IAM permission necessary for the sts:GetCallerIdentity?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/gruntwork-io/terragrunt/pull/28#issuecomment-246840925,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOXVdDPbEtTwz0XqAmPPGM1Wb7_8AJeks5qpx5sgaJpZM4J70zB
.

is the s3 bucket used by the tests supposed to be accessible to other accounts?  It is failing with a 403 on the s3 bucket - is there a way for me to set up an s3 bucket on my account that I can use to run the tests?
go test -v $(glide novendor)
=== RUN   TestTerragruntWorksWithLocalTerraformVersion
--- FAIL: TestTerragruntWorksWithLocalTerraformVersion (1.00s)
	integration_test.go:30: The S3 Bucket in the .terragrunt file does not exist. S3 Bucket Name = 'gruntwork-terragrunt-tests'. S3 Bucket Region = 'us-west-2'. Full Error Message = AccessDenied: Access Denied
			status code: 403, request id: 3D2637FBC18C2117
FAIL
exit status 1
FAIL	github.com/gruntwork-io/terragrunt/test	1.014s

Ah, I think that may be a bad assumption in the tests. Instead, they should probably create the S3 bucket themselves. @josh-padnick Could you take a look?

Yeah, to keep things simple, I just assumed the existence of an S3 bucket (naturally in our Gruntwork account), but @brikis98 is correct that it'd be better if the test creates its own S3 bucket.
That update will involve generating a random name for the S3 bucket, creating it, interpolating the values into the .terragrunt file, and deleting the S3 bucket, so if you just want to get passing tests for now, you might change the values in the const and the .terragrunt file locally only for now, and I'll update these shortly, hopefully tonight or tomorrow.

I created a bucket and edited the .terragrunt file and and the test to point to the bucket and then the integration test passed.
For these tests I was using my STS credentials - I don't have any non-STS based credentials to test with at the moment. Earlier today I did have a set that I used to test that it still worked.
One thing that does change from iam getUser vs sts getCallerIdentiy is that the caller identity returns the userId and not a username - it seems like this should be fine I think for what terragrunt uses it for (an identifier of which user has the lock) but it's worth noting that it is different

Excellent, thanks! Merging now.

Thanks for the fast turnaround getting this merged!


Issue #000 feat: Course batch samza job

Codecov Report

Merging #526 into course-batch-jobs will not change coverage.
The diff coverage is n/a.

@@                 Coverage Diff                  @@
##             course-batch-jobs     #526   +/-   ##
====================================================
  Coverage                32.29%   32.29%
  Complexity                1236     1236
====================================================
  Files                      170      170
  Lines                    15074    15074
  Branches                  2392     2392
====================================================
  Hits                      4868     4868
  Misses                    9469     9469
  Partials                   737      737

Impacted Files
Coverage Δ
Complexity Δ

...org/ekstep/graph/engine/router/ActorBootstrap.java
56.29% <0%> (-1.33%)
16% <0%> (ø)

...p/searchindex/elasticsearch/ElasticSearchUtil.java
43.56% <0%> (+0.54%)
49% <0%> (ø)
:arrow_down:

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 a3eaa7d...bfa8e74. Read the comment docs.


how to use Dense Depth Prior on other datasets, such as matterport3D?

Training Depth Priors Network
We used RGB-D input to train the depth completion network. For a different dataset the training data needs to be loaded, similar to scannet_dataset.py. The network is trained on sparse depth that is sampled from the dense depth map and perturbed by Gaussian noise. For the sampling and perturbation it makes sense to consider characteristics of the sparse depth data that you plan to optimize NeRF on:
Sampling:

If you plan to optimize NeRF on scenes, where you run COLMAP to obtain poses and sparse depth, you can use the COLMAP feature extractor to determine sampling locations for depth completion training that are similar to the sparse depth distribution that you expect at test time (see precompute sampling locations).
You may also uniformly sample the sparse depth for training, if that better matches your sparse depth input for NeRF optimization.
The option missing_depth_percent controls the density of the sampled sparse depth map, e.g. 0.99 means the sparse depth will have 1% valid points.

Depth pertubation:

Depth pertubations should be added to the sampled sparse depth, if the sparse depth that you will use for NeRF is less accurate (e.g. from SfM) than the depth used for depth priors training (e.g. RGB-D from a depth sensor).
We determined the error of SfM reconstructions on ScanNet and fit a quadratic function, so that the standard deviation of the added Gaussian noise increases with the distance from the camera (see error_sources.py). It makes sense to adapt these error assumptions to the dataset.

Of course, if you have a large set of SfM reconstructions with corresponding dense depth maps (maybe MegaDepth dataset), you could also train on SfM sparse depth directly, instead of sampling and perturbing RGB-D data.
Optimizing NeRF with Dense Depth Priors
You can provide scenes for NeRF in this format:
scene
│   transforms_train.json
│   transforms_test.json
└───train
│   └───rgb
│   │   │   0.jpg
│   │   │   1.jpg
│   │   │   ...
│   │
│   └───depth
│   │   │   0.png
│   │   │   1.png
│   │   │   ...
│   │
│   └───target_depth
│       │   0.png
│       │   1.png
│       │   ...
│
└───test
    │   # same structure as in "train"

The subdirectory rgb contains rgb images and depth contains the sparse depth maps (e.g. rendered from a SfM reconstruction). target_depth contains ground truth depth (e.g. sensor depth maps), which is not needed for optimizing NeRF and only used for evaluation purposes, like depth metrics. If you do not have ground truth depth for the scene, it may be necessary to comment the respective lines.
transforms_train.json and transforms_test.json contain the following information:

frames:

file_path: relative path to the rgb file
depth_file_path: relative path to the corresponding sparse depth file
fx, fy, cx, cy: camera intrinsics; the image origin is in bottom left corner
transform_matrix: transformation from camera to world frame; the camera frame has z pointing in negative viewing direction

near: near plane for rendering
far: far plane for rendering
depth_scaling_factor: conversion factor from distance units to integer values from the depth .png file; e.g. in ScanNet a factor of 1000 converts from meters to integer values stored in the depth maps

near, far and depth_scaling_factor are scene specific parameters that need to be the same for the train and test set.

Thanks


Security updates

This PR addresses a few out of date development dependencies. Merging this PR will silence the Github warnings about CVEs :)

@JonRowe Great, thanks! 👍


[5.7] Modify ELoquent Api Resource merge() methods to accept JsonResource object

this PR , allows both merge & mergeWhen to accept JsonResource object , to remove duplicate of referencing same attributes in different resources .
simplified example of use case , we want to retrieve a user with his profile , but the case is the UserResource mustn't change cause the class has been used in different places in a messy project and could cause api compatibility issues if changed :
class UserResource extends JsonResource
{
     public function toArray($request)
     {
        return ['name' => $this->name , 'age' => $this->age];
     }

}

class UserWithAvatarResource extends JsonResource
{
     public function toArray($request)
     {
       //old way
       return ['name' => $this->name , 'age' => $this->age , 'avatar' => $this->avatar];

        //another way
       return array_merge(
             (new UserResource($this))->jsonSerialize() ,
             ['avatar' => $this->avatar]
        );

       //when PR accepted
       return [
            $this->merge(new UserResource($this)),
            'avatar' => $this->avatar,
        ];
     }

}

You can just do something like this if you want to merge two resources:
class UserWithAvatarResource extends UserResource
{
     public function toArray($request)
     {
        return array_merge(parent::toArray($request), [
            'avatar' => $this->avatar,
        ]);
     }
}

I'm not sure if adding support for JsonSerializable is a good idea (at least in version 5.7). If this would be accepted, I would also add support for Arrayable contract.

https://github.com/laravel/framework/blob/5.7/src/Illuminate/Support/Collection.php#L1837-L1850


beginning of elixir template

an example of an elixir development env for flox

@tomberek with aff8cad I was able to create a full working development env exactly as I've done doing professional elixir/phoenix framework development for major companies. This worked well on initial run, and I had a fully operaitonal local postgres cluster. However, Nix doesn't seem to like to re-run those postShell hooks and complains with
flox -v develop
+ NIX_REMOTE=daemon NIX_SSL_CERT_FILE=/nix/store/fx5wyiz6a406znn1wji8b0s61v7sipm8-nss-cacert-3.74/etc/ssl/certs/ca-bundle.crt NIX_USER_CONF_FILES=/home/samrose/.config/flox/nix.conf /nix/store/cfx7rzqhy889ymdk92l7k860lh1hzq6a-flox-0.0.1-r178/libexec/flox/nix develop
error (ignored): error: end of string reached
error: file '/home/samrose/Desktop/flox-elixir/postgres/.s.PGSQL.5435' has an unsupported type
(use '--show-trace' to show detailed location information)

I did not want to put too much time at once into this, but also figuring out that issue could help others run postgres in flox develop context, so sharing that here, and I will try to dig into it myself as time permits.

Glad to hear you got a professional dev env working!

@tomberek with aff8cad I was able to create a full working development env exactly as I've done doing professional elixir/phoenix framework development for major companies. This worked well on initial run, and I had a fully operaitonal local postgres cluster. However, Nix doesn't seem to like to re-run those postShell hooks and complains with
flox -v develop
+ NIX_REMOTE=daemon NIX_SSL_CERT_FILE=/nix/store/fx5wyiz6a406znn1wji8b0s61v7sipm8-nss-cacert-3.74/etc/ssl/certs/ca-bundle.crt NIX_USER_CONF_FILES=/home/samrose/.config/flox/nix.conf /nix/store/cfx7rzqhy889ymdk92l7k860lh1hzq6a-flox-0.0.1-r178/libexec/flox/nix develop
error (ignored): error: end of string reached
error: file '/home/samrose/Desktop/flox-elixir/postgres/.s.PGSQL.5435' has an unsupported type
(use '--show-trace' to show detailed location information)

I did not want to put too much time at once into this, but also figuring out that issue could help others run postgres in flox develop context, so sharing that here, and I will try to dig into it myself as time permits.

This seems to be because the DB does not get shut-down when exiting the shell. Essentially this is the beginnings of project-specific service management.

@tomberek with aff8cad I was able to create a full working development env exactly as I've done doing professional elixir/phoenix framework development for major companies. This worked well on initial run, and I had a fully operaitonal local postgres cluster. However, Nix doesn't seem to like to re-run those postShell hooks and complains with
flox -v develop
+ NIX_REMOTE=daemon NIX_SSL_CERT_FILE=/nix/store/fx5wyiz6a406znn1wji8b0s61v7sipm8-nss-cacert-3.74/etc/ssl/certs/ca-bundle.crt NIX_USER_CONF_FILES=/home/samrose/.config/flox/nix.conf /nix/store/cfx7rzqhy889ymdk92l7k860lh1hzq6a-flox-0.0.1-r178/libexec/flox/nix develop
error (ignored): error: end of string reached
error: file '/home/samrose/Desktop/flox-elixir/postgres/.s.PGSQL.5435' has an unsupported type
(use '--show-trace' to show detailed location information)

I did not want to put too much time at once into this, but also figuring out that issue could help others run postgres in flox develop context, so sharing that here, and I will try to dig into it myself as time permits.

This seems to be because the DB does not get shut-down when exiting the shell. Essentially this is the beginnings of project-specific service management.

@tomberek good point and that may not be something we want to do. Basically, a user of this could create a "stop" script prior to exiting where they stop whatever is running. But I am not suggesting with this that we manage services for projects, but instead this could serve as an example (that works) of how a user could achieve a development environ (I guess with clear caveats from us that we are not trying to manage these project specific services).

@tomberek or whomever else may be concerned: also do feel free to outright reject this for inclusion in these templates. But at least we know this is achievable for development env now, for the most common elixir development track (Phoenix framework)

This is deprecated by https://github.com/flox/floxpkgs/issues/25


OCPBUGS-6064: Merge https://github.com/kubernetes/cloud-provider-openstack:release-1.25 into release-4.12

Manual merge since we had conflicts:
Conflicts:
      pkg/openstack/loadbalancer.go
      tests/playbooks/test-csi-cinder-e2e.yaml

/label backport-risk-assessed

/lgtm

/label cherry-pick-approved


MockWebServer tests hang when run in suite.

I am having an issue running a suite of tests with some of the tests using MockWebServer. I really don't know where the error is, that's why I'm not including any failing unit tests.
The suite of tests is for an Android application which is transitioning into Kotlin. The application is using RxJava and Volley and it is using MockWebServer to test the API calls. The application is using Robolectric to test with the Android dependencies.
When each of the tests in the suite are run individually, the test runs successfully but when running the whole suite, the suite hangs when getting to one of the tests using MockWebServer. MockWebServer is started in the @BeforeClass and the shutdown method is called in the @AfterClass in each test.
The reason why it hags is because I'm using a Volley RequestFuture to turn it into a Single (using Single.fromFuture() without providing timeout). My hunch is that from the second time onwards, MockWebserver is not been started for some reason.
I have ruled out that it could be a problem in the machine since I've encountered the same issue in the CI server as well as in my working laptop.
The tests are very simple. I enqueue the responses, I call the production code and I use takeRequest without timeout to receive the request and then checking the result. The tests are also using a TestScheduler for the IO scheduler. I may be missing something. Do you have any ideas? Thanks in advance for your help.

We don’t have this problem in OkHttp’s own tests. Could you provide a small executable example of the problem?

I've been able to replicate the same behaviour in a little example with one single test. I've been debugging it but I haven't found the issue yet. This example is slightly different that the one I reported. This one uses a custom Volley listener and hangs because I have a call to waitTerminalEvent in the TestObserver. I think the issue in both cases is the same.
I don't really know why I'm having the issue. Hopefully, you guys can give me some clues as to why this is happening. If you remove the line that calls await terminal event, you are going to find that the test fails because the listener is not emitting any events. The listener is also unit tested and all its tests are passing. Anyway, here is the link. Thanks in advance for your help.
https://github.com/psa-anddev/rxvolleylistener

I have been able to solve the issue. It turns out that the problem wasn't with MockWebServer but with Robolectric. The problem was because of the use Volley does of executors. The solution is therefore create a new implementation of ResponseDelivery that will just deliver the responses in the same thread. Once that is done, the test passes. If you are interested in how to solve it, just go to the linked repository and check the last two commits.

I was having the same issue today and couldn't find a solution online. I am using Retrofit which bundles with okHTTP and it always hangs forever only when running on a test suite but weirdly works when manually running single test.
After sometime playing around and trying find a way to fix it, I realized that if the Robolectric is configured to run on sdk = >25 it works like a charms but if it is not configured or sdk is '<25' it will hang forever.
This is for sure a Robolectric issue that resulted to a limbo when trying to do a requesr through the mock server.

I don't know if this is related, but I had to add a timeout to takeRequest or junit would hang forever:
RecordedRequest request = server.takeRequest(1, TimeUnit.SECONDS);

Thanks man @dtandersen ! It works like a charm, an alternative is to use takeRequest() without parameter instead.
If you take a look at the source code, you will find out the reason.
takeRequest(long timeout, TimeUnit unit)

Awaits the next HTTP request (waiting up to the specified wait time if necessary), removes it, and returns it. Callers should use this to verify the request was sent as intended within the given time.

takeRequest()

Awaits the next HTTP request, removes it, and returns it. Callers should use this to verify the request was sent as intended. This method will block until the request is available, possibly forever.

Therefore, another way is as below:
// This method will block until the request is available, possibly forever.
server.takeRequest();

// verify the behavior
verify()
assert()

...

I'm not sure but adding TimeUnit throws IllegalStateException.
java.lang.IllegalStateException: srv!!.takeRequest(1, TimeUnit.SECONDS) must not be null
Does anybody have this issue?


grpc_connectivity_state was GRPC_CHANNEL_READY, but GRPC completion queue AsyncNext next status was always TIMEOUT

What version of gRPC and what language are you using?
version: 1.14.1
language: C++
What operating system (Linux, Windows,...) and version?
system: Linux
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc: 5.4.0
What did you do?
Please provide either 1) A unit test for reproducing the bug or 2) Specific steps for us to follow to reproduce the bug. If there’s not enough information to debug the problem, gRPC team may close the issue at their discretion. You’re welcome to re-open the issue once you have a reproduction.
The steps to reproduce the issue(can't be reproduced every time):

Make grpc client connect to collector and stream fine;
Make a network issue between client and collector(we can simulate this, like when client sends data to collector, but collector gives no response);
While network issue happens, keep checking the next status of completion queue(before this have add a tag to the completion queue). The next status of completion queue will always be TIMEOUT, but the channel state is GRPC_CHANNEL_READY;
After a while recovering the network, in most cases the previously grpc connection can recover. But sometimes, the grpc connection can't recover, the next status of completion queue was still TIMEOUT.

What did you expect to see?
After network recovered, the AsyncNext() should return GOT_EVENT for the previous completion queue tag.
What did you see instead?
After network recovered, the AsyncNext() didn't return GOT_EVENT for the previous completion queue tag. It kept returning TIMEOUT.
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
See TROUBLESHOOTING.md for how to diagnose problems better.
Anything else we should know about your project / environment?

Hi @markdroth , below is my code. I simplify it. Just FYI. Thanks.
Code Begin
`enum cq_tag {CONNECT, READ, WRITE, WRITE_DONE, FINISH};
enum next_status {
SHUTDOWN,   ///< The completion queue has been shutdown and fully-drained
GOT_EVENT,  ///< Got a new event; \a tag will be filled in with its
///< associated value; \a ok indicating its success.
TIMEOUT,    ///< deadline was reached.
UNKNOWN
};
std::unique_ptr<ClientAsyncReaderWriter<IPPacket, IPPacket>> readWriter;
IPPacket *ptr_request;
CompletionQueue cq;
bool get_cq_status (cq_tag tag, next_status* status)
{
bool ok = false;
void* got_tag;
std::chrono::system_clock::time_point deadline = std::chrono::system_clock::now() + std::chrono::milliseconds(5000);
CompletionQueue::NextStatus asyncStatus;
asyncStatus = cq.AsyncNext(&got_tag, &ok, deadline);

if (asyncStatus == CompletionQueue::SHUTDOWN) {
    *status = SHUTDOWN;
    return false;
}
else if (asyncStatus == CompletionQueue::GOT_EVENT) {
    *status = GOT_EVENT;
    if (ok && (got_tag == (void*)tag)){
        return true;
    }
    if (!ok && (got_tag == (void*)tag)) {
        return false;
    }
}
else if (asyncStatus == grpc::CompletionQueue::TIMEOUT) {
    *status = TIMEOUT;
    return false;
}
*status = UNKNOWN;
return false;

}
bool Tunnel()
{
// other processes such as connect, read to establish the connection between client and collector
while (!p_dialout_data->parsed_response.empty())
{
	ptr_request = new IPPacket();
	ptr_request->set_packet(p_dialout_data->parsed_response);
	readWriter->Write(*ptr_request, (void*)WRITE);
	if (get_cq_status(WRITE, &nx_status)) {
		// success process
	}
	else {
		if (SHUTDOWN == nx_status) {
			// shutdown process
			return false;
		}
		if (TIMEOUT == nx_status) {
			// timeout process, after network issue recovered in 1min, the next status was always timeout
			while (TIMEOUT == nx_status) {
				get_cq_status(WRITE, &nx_status);
				sleep(5);
			}
		}
		else {
			// other process
			return false;
		}
	}
	usleep(10);
}

return true;

}`
Code End

Hi @markdroth , another issue will happen if we ran into the TIMEOUT issue. While the completion queue status was TIMEOUT, the GRPC will not send keepalive packet.

v1.14 is really old. Can you try this with the latest version please? There have been a good number of fixes in this code since then.

Well, actually, this reminded me of https://github.com/grpc/proposal/blob/master/A18-tcp-user-timeout.md which was intended to fix this exact bug. I believe using the latest version would fix it for you. I'm gonna go ahead and close this down but please feel free to comment here or open a new bug if this doesn't work for you (since that might be a different bug altogether).

Thank you very much @yashykt . I'll take a look at the bug you mentioned and will also try to use the latest version.


Add Typescript definitions

Hi Guys 👋
Just a quick PR to add Typescript definitions.
Hope you'll like it !
Cheers

Hi @ahanriat!
Nice! Thank you for the PR! I have one question regarding the range of the number. We know in advance that the range is from 1 to 100, so maybe we can enforce it on the type level?

Thank you for this awesome contribution 🙌


explicit or implicit dependency react-native-giphy

Gradle detected a problem with the following location: '/Users/Siva-vempower/Documents/Meethour repos/tttaaaa/Meethour-Web-MobileApps'.
Reason: Task ':sdk:bundleReleaseJsAndAssets' uses this output of task ':react-native-giphy:packageReleaseResources' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.

Possible solutions:
  1. Declare task ':react-native-giphy:packageReleaseResources' as an input of ':sdk:bundleReleaseJsAndAssets'.
  2. Declare an explicit dependency on ':react-native-giphy:packageReleaseResources' from ':sdk:bundleReleaseJsAndAssets' using Task#dependsOn.
  3. Declare an explicit dependency on ':react-native-giphy:packageReleaseResources' from ':sdk:bundleReleaseJsAndAssets' using Task#mustRunAfter.

Hey @sivamurthinaroji,
Could you please provide the steps to reproduce?
and
Your Environment

Giphy React Native SDK version
React Native version

"@giphy/react-native-sdk": "^2.3.0",
"react-native": "0.73.8",

please use the following version:
"@giphy/react-native-sdk": "^3.3.1"
Additionally, make sure to follow the instructions.


support for openapi 3.0

Is there support for openapi 3.0.x specification?

Not currently, no. As the backing parser for guardrail is the official parser, we're limited by what they support.
It seems as though they're at 2.0.0-rc1 right now, which is exciting; if you're interested in contributing, I'd bump the swagger-parser dependency to that version and see what breaks.
I'd expect the changes required to be primarily in package structure and some changes to the specification files used in the tests, but the generated code should be identical once the migration has been completed.

just tried doing that and it does not break the build

That's great! I expect there are new instances of AbstractProperty and other fields to check in order to support the new features, but at the very least having the new parser in place would be beneficial for those starting to switch over to the OpenAPI 3.0 spec.

@stanislav-chetvertkov did you do any work on it?

@edmondo1984 After some initial examination it turned out that the 3.0 model is significantly different and switching to it affects a lot of places in the code. At the time I had very little knowledge of the codebase and decided not to do such a big change. I could give it another shot or someone else could try implementing it.

I'm starting to take another shot at this, hope it will work this time

@stanislav-chetvertkov be aware there's a massive refactor going on in #133