[parser/spec] Inconsistent treatment of assignable symbols.

Consider the following program:
var a = ++#id.id.id.id;

The analyzer rejects it during parsing:
 === pkg:analyzer (https://pub.dev/packages/analyzer) ===
Parsing failed with some errors:
Scan errors: 0
Parse errors: 1
file(20..21): Missing selector such as '.identifier' or '[0]'.
<CompilationUnitImpl> [0-23]
┗━ <TopLevelVariableDeclarationImpl> [0-23]
  ┣━ <VariableDeclarationListImpl> [0-22]
  ┃  ┣━ 'var' [0-3]
  ┃  ┗━ <VariableDeclarationImpl> [4-22]
  ┃    ┣━ 'a' [4-5]
  ┃    ┣━ '=' [6-7]
  ┃    ┗━ <PrefixExpressionImpl> [8-22]
  ┃      ┣━ '++' [8-10]
  ┃      ┗━ <SymbolLiteralImpl> [10-22]
  ┃        ┣━ '#' [10-11]
  ┃        ┣━ 'id' [11-13]
  ┃        ┣━ 'id' [14-16]
  ┃        ┣━ 'id' [17-19]
  ┃        ┗━ 'id' [20-22]
  ┗━ ';' [22-23]

This appears to be a bug. The parse tree seems correct, that is, all the parts of the id list belong to the symbol and not any trailing selectors or any trailing assignableSelectors, but there should be no error message.
This matches the behavior how symbols that are not assignable are parsed, e.g., var a = #id.id.id.id!;, which are parsed consistently by the analyzer and DSP as a single list of ids.
Note that DSP, while not rejecting this program, assigns a trailing id to belong to a trailing assignableSelector, which appears to me to be incorrect. DSP should also parse it as a single list of ids.
 === DSP (https://github.com/dart-lang/sdk/blob/master/tools/spec_parser/dart_spec_parser/Dart.g4) dspVersion v0.41 ===
Parsing succeeded with no errors.
 It has to consume, and it consumes the last .id.
assignableSelectorPart
    :    selector* assignableSelector
    ;

Oh, I've failed to realize that it makes no sense to support syntax like ++#id.id.id and it makes sense to reject this program. So the analyzer seems to behave as expected.
In that case, there still appears to be an inconsistency between the implementation and DSP. It seems that the issue here is with DSP which is that symbols should consume all ids and symbols without any selectors should not be allowed to be assignable (e.g. expressions like ++#id.id.id or --#id.id.id should be rejected.)

We wouldn't have to reject such expressions:
extension on Symbol {
  Symbol get id => this;
  Symbol operator +(_) => this;
  set id(_) {}
}

void main() {
  Symbol s = #id.id.id;
  ++s.id;
  // So why not `++#id.id.id.id`?
}

The specification of symbol literals does not specify that terms like #id.id.id.id must be parsed as a symbol literal (that is, the parser does not have an obligation to blindly include all of it into the symbol literal). So, given that e must be an <assignableExpression> in a <unaryExpression> of the form ++e, it can be parsed as a symbol literal #id.id.id followed by a dot and a selector .id. This is exactly what ANTLR does when using the grammar in Dart.g.
However, it is obviously an ambiguity that #id.id can be a symbol literal #id followed by a getter invocation .id, and it can be a symbol literal #id.id.
I created https://github.com/dart-lang/language/issues/3659 in order to address this ambiguity directly.


Should parameter server have GPU installed

Hi,
I am planning distributed training by using MXNet. Do I need to allocate a GPU machine for parameter server? Is MXNet parameter server CPU-based or GPU-based?
Thanks,
Juilin

GPU is not required. You can do dist training with CPU. The framework supports both
On 2017年4月23日, at 22:09, juilin<EMAIL_ADDRESS>wrote:
Hi,
I am planning distributed training by using MXNet. Do I need to allocate a GPU machine for parameter server? Is MXNet parameter server CPU-based or GPU-based?
Thanks,
Juilin
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@eric-haibin-lin,
Thanks for the answer. Do I need to do anything to enable GPU support in parameter?
Regards,
Rui-Lin

You can check http://mxnet.io/how_to/multi_devices.html for a overview of distributed training


Compatability and refactoring

Made this pull request earlier, but later on I decided to work a bit more on the SPI implementation to allow for more cross-compatible code. I removed the need to specify SpiDev or SpiDevMraa when initializing the object using a factory. I also moved some code into the GPIO library to make better use of mraa's interrupts. These changes have been tested on a Minnowboard MAX and Raspberry Pi 2.

I'm cleaning up old issues are going to close this one.  We're working on an update to use the more general Linux kernel userspace I/O facilities in the future, and that will support all boards including the minnowboard and others, in a more general way.  Thanks for sending the pull!


Add auto_update to betterzip

Checklist
After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} reports no offenses.
[ ] The commit message includes the cask’s name and version.

Added auto_update because application comes with a Check for updates... option

Thank you for your contribution.


Crashing as host when I have a phantom near a fog wall?

Some friends and I were playing through the game before the server shutdown, so we're trying to summon each other on our own private server around Dragonslayer Armor. Playing through the level from the bonfire with the dragon bridge we were fine, but when I went down the shortcut elevator, one phantom went towards the boss fog and I crashed. I tried summoning one of them at the top of the elevator, and it crashed when he loaded in. The time after that I summoned one of them by the fog door, and it crashed when he loaded in. Not sure what's causing it, I haven't seen anyone else post this bug as far as I can tell.

By the time someone is being summoned in, the matching server has already long done everything its going to do. I'm not sure if thats directly caused by ds3os.
And just to make sure when you say crash you mean hard termination of the apllication where you need to reboot it? (Sorry just checking I've had a lot of people missuse that word to mean just getting disconnected or similar).

Yes, it's a hard termination. It crashes to desktop and Blue Sentinel does a crash dump.
I went and killed Dragonslayer Armor solo, and the game hasn't crashed at any other location since. One of my friends was having the same issue in the same area in his world, but the other wasn't. Here's one time the game crashed and BS did a register dump:
[20:06:34] Exception Code: 0x80000003 (BREAKPOINT REACHED)
[20:06:34] Fault Offset: 0x7FFA9468E136
[20:06:34] xinput1_3.dll: 0x7FFA94670000
[20:06:34] Blue Sentinel: v1.30
[20:06:34] Generating register dump...
[20:06:34] RAX: 0x0
[20:06:34] RBX: 0x1053
[20:06:34] RCX: 0x7FFA9468E136
[20:06:34] RDX: 0x1F
[20:06:34] RDI: 0x7FFA947D5440
[20:06:34] RSI: 0x5
[20:06:34] R8: 0x10008053
[20:06:34] R9: 0x2
[20:06:34] R10: 0xFFFF
[20:06:34] R11: 0x7FFA947D54C0
[20:06:34] R12: 0x7FF336D0E6C0
[20:06:34] R13: 0xE8
[20:06:34] R14: 0xFFFF
[20:06:34] R15: 0x7FFA94670000
[20:06:34] RBP: 0x6A4690
[20:06:34] RSP: 0x400FF080
All of us have Blue Sentinel installed and up to date. We've set the server to disable soul level and weapon level matchmaking, so all I can think of is some interaction between BS and DS3OS not agreeing, but that doesn't explain why it was only happening outside of Dragonslayer Armor.
The game crashed and dumped the registers 9 times for me. I've attached the logs incase they'll help in any way.
BlueSentinelLog_22-01-27.txt
BlueSentinelLog_22-01-30.txt
When I ran the server myself, I don't remember the server even knowing I or anyone else disconnected from this crash until they rebooted the game.

If you can repro it, can you generate a minidump and post it here.
Info on setting up windows to store minidumps of crashed programs is available here:
https://docs.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps

I have a feeling you're encountering an issue with Blue Sentinel. Theres a report with a near identical error report on the blue sentinel page:
https://www.nexusmods.com/darksouls3/mods/723?tab=bugs
I'm going to close this issue now, if you can confirm if it exhibits the same behaviour without blue sentinel (I wouldn't advise that on public servers until the RCE is resolved), reopen the issue please.

Sorry for not getting back to you sooner (and sorry if replying , we didn't encounter a crash again until we got to Soul of Cinder. It didn't make a minidump, not sure why, but you're right that it is some issue with Blue Sentinel rather than ds3os. We disabled BS and it was just fine. Thank you for your time!


[opentitantool] Opentitantool is very slow on handling console output, writes 1 char at a time, cause data drops.

Description
I was trying to dump plenty of data using UART console, such as dumps lasted more than 666s (funny constant, but it was minimal when I noticed it. I was dumping lines of 64 hex characters and then noticed that symbols started to drop. In one place I counted that 158 (mod 256) chars were dropped. And in some cases uart printing just hang.
It seems that UART.STATUS may be not set in the correct value, so I tried to modify UART to use UART.FIFO_STATUS_TXLVL as  indicator of non-empty FIFO, but it didn't help either. Tried several other than dif_uart_byte_send_polled() implementations, but all resulted in same behavior. Adding reset of FIFO seemed to help though to avoid hangs.
Original code:
static void print_uart(const char *buf, size_t len) {
 for (size_t i = 0; i<len; i++) {
    while (dif_uart_byte_send_polled(uart, buf[i])!=kDifOk) ;
  }
}

Then
static void print_uart(const char *buf, size_t len) {
  size_t sent = 0;

  while (len && dif_uart_bytes_send(uart, (const uint8_t *)buf, len, &sent) !=
                    kDifOk) {
    len -= sent;
    sent = 0;
  }
  return;
}

and finally:
// Custom UART stack for debugging
static bool uart_tx_full(const dif_uart_t *uart) {
  uint32_t reg = mmio_region_read32(uart->base_addr, UART_STATUS_REG_OFFSET);
  return bitfield_bit32_read(reg, UART_STATUS_TXFULL_BIT);
}

static bool uart_tx_idle(const dif_uart_t *uart) {
  uint32_t reg = mmio_region_read32(uart->base_addr, UART_STATUS_REG_OFFSET);
  return bitfield_bit32_read(reg, UART_STATUS_TXIDLE_BIT);
}

static uint32_t uart_tx_level(const dif_uart_t *uart) {
  uint32_t reg =
      mmio_region_read32(uart->base_addr, UART_FIFO_STATUS_REG_OFFSET);
  return bitfield_field32_read(reg, UART_FIFO_STATUS_TXLVL_FIELD);
}

static void uart_tx_fifo_write(const dif_uart_t *uart, uint8_t byte) {
  uint32_t reg = bitfield_field32_write(0, UART_WDATA_WDATA_FIELD, byte);
  mmio_region_write32(uart->base_addr, UART_WDATA_REG_OFFSET, reg);
}

static void uart_fifo_reset(const dif_uart_t *uart) {
  // Write to the relevant bits clears the FIFOs.
  uint32_t reg = mmio_region_read32(uart->base_addr, UART_FIFO_CTRL_REG_OFFSET);
  reg = bitfield_bit32_write(reg, UART_FIFO_CTRL_RXRST_BIT, true);
  reg = bitfield_bit32_write(reg, UART_FIFO_CTRL_TXRST_BIT, true);
  mmio_region_write32(uart->base_addr, UART_FIFO_CTRL_REG_OFFSET, reg);
}

static void print_uart(const char *buf, size_t len) {
  while (len) {
    if (uart_tx_level(uart) < 16) {
      uart_tx_fifo_write(uart, *buf++);
      len--;
    }
  }
  // Busy wait for the TX FIFO to be drained and for HW to finish processing
  // the last byte.
  while (!uart_tx_idle(uart)) {
  }
  uart_fifo_reset(uart);
  return;
}

All resulted in the same thing.
Test code:
static size_t print_hex_uart(const uint8_t *buf, size_t len, size_t counter) {
  char out[3];
  for (size_t i = 0; i < len; ++i) {
    uint8_t l = buf[i] & 0xf;
    uint8_t h = buf[i] >> 4;
    l += (l < 10) ? '0' : 'A' - 10;
    h += (h < 10) ? '0' : 'A' - 10;
    out[0] = h;
    out[1] = l;
    out[2] = '\n';
    counter += 2;
    if ((counter & 63) == 0)
      print_uart(out, 3);
    else
      print_uart(out, 2);
  }
  return counter;
}

status_t uart_dump(void) {
  int32_t rounds = 100000;
  uint8_t buf[256];
  uint32_t uart_counter = 0;
  uint64_t elapsed = 0;

  for (size_t i = 0; i < ARRAYSIZE(buf); i++)
    buf[i] = (uint8_t)i;

  ibex_timeout_t tmo = ibex_timeout_init(UINT32_MAX);
  while (rounds) {
    uart_counter = print_hex_uart(buf, sizeof(buf), uart_counter);
    rounds--;
  }
  elapsed += ibex_timeout_elapsed(&tmo);
  uart_counter += (uart_counter / 64);  // account for '\n'
  // Make sure the FIFO did not overflow.
  uint64_t freq =
      udiv64_slow((uint64_t)(uart_counter) * (uint64_t)1000000, elapsed, NULL);
  LOG_INFO("done in %ums (~ %usamples/s)",
           (uint32_t)udiv64_slow(elapsed, 1000, NULL), (uint32_t)freq);

  return OK_STATUS();
}

bool test_main(void) {
  // This is a hack to quickly get UART access and avoid slow base_printf()
  uart = (dif_uart_t *) ottf_console_get();
  CHECK_DIF_OK(dif_uart_watermark_tx_set(uart, kDifUartWatermarkByte64));
  status_t test_result = OK_STATUS();
  EXECUTE_TEST(test_result, uart_dump);
  return status_ok(test_result);
}

Normal prints would look like:
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F
404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F
808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF
C0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF
E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF

And example for broken:
202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F
404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
606162636465666768696A6B6C6D6E6F7071727374757677786C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF
E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F
404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F
606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F
808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF
C0C1C112131415161718191A1B1C1D1E1F
202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F

Normal output was first 665s, then it randomly started to make ragged lines with dropped characters.

We've been noticing this as well during testing. In the past we had a test that could reliably cause characters to be dropped by changing the parity expected by the HyperDebug board. The characters were still present on the line between the device and the HyperDebug (confirmed with a logic analyzer) but HyperDebug itself was dropping them.
If I remember correctly, we didn't fix the bug in HyperDebug we just worked around it.

Yes, I suspected Hyperdebug as well, but can't connect why it happens after certain time and then repeats ever after. Re-running test "resets" it. And hang happened on OT side - looks like some "infinite" loop waiting for TX idle or TX empty w/o timeouts. This suggests that issue may be originated on OT.
For drivers - I'd add a timeout in uart_putchar() and similar stuff, and this timeout can be derived from UART speed. e.g. a time to send 32 chars or so. At least this would prevent hangs.

Baseless speculation but there could be a problem with the XON/XOFF flow control. Maybe OpenTitan sends a character while HyperDebug's buffers are full before it can ask it to stop. That might explain why it happens after a longer time running if there's more chance of the buffers filling up.

I connected FTDI and dumped output. Output from OT UART is correct, nothing hanged, nothing lost.
But Opentitantool behavior is bad - it is extremely slow.
strace on it gives:
write(1, "A", 1)                        = 1
write(1, "F", 1)                        = 1
write(1, "E", 1)                        = 1
write(1, "7", 1)                        = 1
write(1, "F", 1)                        = 1
write(1, "C", 1)                        = 1
write(1, "B", 1)                        = 1
write(1, "A", 1)                        = 1
write(1, "\r", 1)                       = 1
write(1, "\n", 1)                       = 1
write(1, "6", 1)                        = 1
write(1, "2", 1)                        = 1
write(1, "1", 1)                        = 1
write(1, "C", 1)                        = 1
write(1, "E", 1)                        = 1
write(1, "D", 1)                        = 1
write(1, "D", 1)                        = 1
write(1, "4", 1)                        = 1
write(1, "3", 1)                        = 1
write(1, "B", 1)                        = 1
write(1, "C", 1)                        = 1
write(1, "3", 1)                        = 1
write(1, "6", 1)                        = 1

It is practically stuck in writing event log. What I saw as a hang - was some issue at opentitan tool side.

https://github.com/lowRISC/opentitan/commit/f38b01f4d453f6a618482b2897009938ba392680 seems to be a culprit.
reverting let mut buf = [0u8; 1]; back   to let mut buf = [0u8; 256];  helps with output.
I tried this implementation which also removes 1-byte output on console:
    fn uart_read<T>(
        &mut self,
        device: &T,
        timeout: Duration,
        stdout: &mut Option<&mut dyn Write>,
    ) -> Result<bool>
    where
        T: ConsoleDevice + ?Sized,
    {
        let mut buf = [0u8; 256];
        let len = device.console_read(&mut buf, timeout)?;
        if len == 0 {
            return Ok(false);
        }
        if self.timestamp {
            let mut last_new_line: usize = 0;
            for i in 0..len {
                if self.newline {
                    // Print since previous newline
                    stdout
                        .as_mut()
                        .map_or(Ok(()), |out| out.write_all(&buf[last_new_line..i + 1]))?;
                    let t = humantime::format_rfc3339_millis(SystemTime::now());
                    stdout.as_mut().map_or(Ok(()), |out| {
                        out.write_fmt(format_args!("[{}  console]", t))
                    })?;
                    self.newline = false;
                }
                if buf[i] == b'\n' {
                    self.newline = true;
                    last_new_line = i + 1;
                }
            }
            stdout
                .as_mut()
                .map_or(Ok(()), |out| out.write_all(&buf[last_new_line..len]))?;
        } else {
            stdout
                .as_mut()
                .map_or(Ok(()), |out| out.write_all(&buf[..len]))?;
        }
        stdout.as_mut().map_or(Ok(()), |out| out.flush())?;

        // If we're logging, save it to the logfile.
        self.logfile
            .as_mut()
            .map_or(Ok(()), |f| f.write_all(&buf[..len]))?;
        self.append_buffer(&buf[..len]);
        Ok(true)
    }

I'm not sure what was the root cause of an issue that required this change, so not sure about side-effects on test flakiness.  @nbdd0121, @timothytrippel what do you think?

The commit you point out was made on purpose to mitigate test flakiness; opentitanlib was overconsuming uart data and dropping it since Uart contexts were getting created, buffering data, then dropping it. I think we need to revisit the architecture of this, but we do not want to revert back to reading more than one byte at a time until we fix the overall architecture.

sure, this is where I'm trying to understand the root cause of the issue. but it sounds real issue is that there should be a layer between opentitanlib that would buffer output for later consumption, so uart data won't be lost, but I'm not very familiar with where exactly issue take place.  The uart_read is confusing though as it just dumps to stdout and log file, so whatever depends on it seems to be on the other side of the pipe? This makes it even slower and more fragile. I'd rather turn uart_read in what the name suggests - just read from UART, introduce console/log on top, and may be an intermediate buffer in between.
Anyway,  for my needs I can just use local patch.

The issue is primarily with UartConsole::wait_for().
https://github.com/lowRISC/opentitan/issues/20580#issuecomment-1862107661
The UartConsole wants to search a buffer for matches, and when the search "reads" from the underlying UART buffer, the read is destructive to the original buffer. The architecture doesn't properly allow multiple consumers of the UART stream, and when doing the search, logging happens as a side effect of wait_for().
Prior to the switch to read just 1 character at a time, the search would greedily pull all available characters, even those beyond the matching regex. Then, that data would get dropped, as it would go out of scope once UartConsole::wait_for() returned. The change to a character at a time is quite inefficient, but addressing this tech debt has not been prioritized.

FWIW I would much prefer if the mechanics of reading from the TTY (or whatever) were decoupled from process of searching through the contents for regex matches.
I think we should be continuously pulling data as fast as possible from the TTY into a buffer and concurrently logging the contents of that buffer. UartConsole should have its own cursor into that buffer that it uses to track wait_for calls. This would also let us do Pass!|Fail! matching in parallel with a separate cursor. Currently, tests that Fail! will usually just sit idle until Bazel times them out because most wait_for calls aren’t explicitly looking for and handling failures.

@moidx


Doesn't support syntax highlighting colors

Fish syntax highlighting colors are not set.
base16-fish-gruvbox supports this.
See https://github.com/tomyun/base16-fish (esp. https://github.com/tomyun/base16-fish/blob/master/functions/base16-gruvbox-dark-medium.fish) for examples on how to implement.

I have not needed this myself yet, but please open a PR with this and I will accept it! 🙏

I have been ripped away from my beloved development environment by a new job, so I am unlikely to create this pull request anytime soon :)


Upgrade to MongoDB 3.0 along with co-mongo/node-mongo when stable versions are out

Hello! i can't find MongoDB 3.0 for ARM6/7 processor - it is good idea else to
add SQLite also support to Koan?
With best regards!
. ..
05.03.2015, 18:17:37 пользователь Teoman Soygul<EMAIL_ADDRESS>написал:
—
Reply to this email directly or view it on GitHub.

MongoDB 3.0 pretty new. I'm sure that they will release support for other platforms in time.

On ARM MongoDB do not any version supported.. but i use Koan on Raspberry Pi for
robot remote interface - i think adding to SQLite support with MongoDB make Koan
most powerfull)
. ..
08.03.2015, 16:49:15 пользователь Teoman Soygul<EMAIL_ADDRESS>написал:
MongoDB 3.0 pretty new. I'm sure that they will release support for other
platforms in time.
—
Reply to this email directly or view it on GitHub.

That is a huge task and I really don't have the time for that. If you are interested, you can fork KOAN repo and start a new project (i.e. Raspberry KOAN) and add sql support and contribute it back to the community.

Okey, i add also support SQLite, but before can yours to fork KOAN with Gulp
builder and add me to this repository. I know some plugins of Grunt is never
exist in Gulp - this plugins must to removed. Then, after SQLite adding - i
exending Angular with most popular plugins and make demo interface to rich with
visual effects.
. ..
08.03.2015, 17:34:17 пользователь Teoman Soygul<EMAIL_ADDRESS>написал:
That is a huge task and I really don't have the time for that. If you are
interested, you can fork KOAN repo and start a new project (i.e. Raspberry
KOAN) and add sql support and contribute it back to the community.
—
Reply to this email directly or view it on GitHub.

Ok, good luck!

Closing this as very unrelated discussion polluted the actual issue. Will reopen a new one.


Fixed some grammar in the protocol.rst file

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Thanks for the PR!


vr: defer was broken in VR because of json name change

After upgrade from CS 4.10 to CS 4.11, multiple VRs did not start through.
It did not properly defer the finalize config in update_config.py.
Apparently, the json files are now called differently: where it used to
be vm_dhcp_entry.json it now has a uuid added, for example
vm_metadata.json.4d727b6e-2b48-49df-81c3-b8532f3d6745.
The if statement that checks if the finalize can be safely deferred
therefore no longer matches. This PR contains a fix so finalize is
defered again.
Rohit: I made a boo-boo by force pushing and trying to rebash on @RPDiep 's repo/branch. Submitting his commit on his behalf against 4.11 branch. Sorry @RPDiep /cc @wido.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

For reference, this was authored by @RPDiep and he will not lose his authorship on the commit. We can use my review/lgtm from previous PR:

Our lab is temporary under maintenance, I'll tested this locally in a monkeybox+KVM based env and LGTM. Will merge this as soon as travis is OK.

No problem on the new PR.
I just read that @rhtyd  preferred that the line would use startswith?
I think that's indeed better but this PR is now already merged.
Shall I prepare a PR to incorporate that?

I doubt that startswith is the best method. We are now just providing a filename, but if somebody suddenly decides to change this to a absolute path that breaks again.

Alright, no need of a new PR. In some cases the path may be absolute, but I think we've moved to relative paths now in most cases


Check call arguments

354b3bb fixes most of it, except handling of null arguments (load 0, then call) since it currently requires disjunctive check. This is probably the best reason to add that "r_x_null" variable already.


update dbt commands

updating dbt commands so they're in parity for ide v1.2 backend changes
Launching Aug 3rd to coincide with ide v1.2 cc @matthewshaver

thanks so much @davidharting ! i've removed that 2nd sentence now 🙏

Holding in draft until conversation with @jtcohen6


Sexy improvement for intro code

How about such inro code?
echo "Tyler Durden isn't real." | secret-share-split -n 10 -t 3 >shares.txt
cat shares.txt | perl -MList::Util=shuffle -wne 'print shuffle <>;' | head -3 >shares_subset.txt
cat shares_subset.txt | secret-share-combine

Looks sexy.

I'm sorry I don't think this improves the clarity of the README. Though I'd be happy to add a comment with // Optional: shuffle the shares around or maybe even something using sort --random-sort.
Closing for now, but feel free to comment and I'll reconsider.


RSV: structural viewer PDB dropdown

Please create dropdown "5UDE prefusion" and "3RRR postfusion"

Is it possible to enable dropdown and also for users to input their own custom PDB ID?


preventDefault stops anchors working in tables v1.3.0 onwards

Originally started using this on version 1.2.4 which allowed anchors to work natively in tables but moving to 1.3.0 onwards, a preventDefault has now started to affect all anchors from within the table and requires manual override to avoid it.
https://github.com/Mobius1/Vanilla-DataTables/blob/d8fa162bd4f838323346c01781f922fd98fb3352/src/vanilla-dataTables.js#L1292-L1303
Is there any quick solution to this problem or would I require to set my own event to override the original preventDefault?

I'll get a fix out ASAP.

This should be fixed in 1.3.3. Re-open if needed.


Pipeline formatting is broken with Select-Object and custom property with nested pipeline

Prerequisites

[X] I have written a descriptive issue title.
[X] I have searched all open and closed issues to ensure it has not already been reported.
[X] I have read the troubleshooting guide.
[X] I am sure this issue is with the extension itself and does not reproduce in a standalone PowerShell instance.
[X] I have verified that I am using the latest version of Visual Studio Code and the PowerShell extension.
[X] If this is a security issue, I have read the security issue reporting guidance.

Summary
When formatting (Shift + Alt + f) code with pipelines and custom properties will go some tabs on the right or remove cmdlet.
Before:
function X {
	# Ok
	Get-TransportRule |
		Select-Object -Property @{N = 'SenderDomainIs'; E = { ($_.SenderDomainIs | Sort-Object ) -join ', ' } }, @{N = 'RecipientDomainIs'; E = { ($_.RecipientDomainIs | Sort-Object) -join ', ' } }, BlindCopyTo |
		ConvertTo-Html -Fragment

	# After these lines will go one tab to the right
	Get-TransportRule |
		Select-Object name, @{N = 'SenderDomainIs'; E = { ($_.SenderDomainIs | Sort-Object ) -join ', ' } } | ConvertTo-Html -Fragment

	# After these lines will  go one more tab to the right
	Get-TransportRule |
		Select-Object name, @{N = 'SenderDomainIs'; E = { ($_.SenderDomainIs | Sort-Object ) -join ', ' } }
}

function Xx {

}

After with settings: "powershell.codeFormatting.pipelineIndentationStyle": "IncreaseIndentationForFirstPipeline"
Seems that if there is one more pipeline on next line it's ok.
function X {
	# Ok
	Get-TransportRule |
		Select-Object -Property @{N = 'SenderDomainIs'; E = { ($_.SenderDomainIs | Sort-Object ) -join ', ' } }, @{N = 'RecipientDomainIs'; E = { ($_.RecipientDomainIs | Sort-Object) -join ', ' } }, BlindCopyTo |
		ConvertTo-Html -Fragment

	# After these lines will go one tab to the right
	Get-TransportRule |
		Select-Object name, @{N = 'SenderDomainIs'; E = { ($_.SenderDomainIs | Sort-Object ) -join ', ' } } | ConvertTo-Html -Fragment

		# After these lines will go one more tab to the right
		Get-TransportRule |
			Select-Object name, @{N = 'SenderDomainIs'; E = { ($_.SenderDomainIs | Sort-Object ) -join ', ' } }
		}

		function Xx {

		}

Or worst with settings: "powershell.codeFormatting.pipelineIndentationStyle": "None"
Select-Object and ConvertTo-Html have now disapeared!
function X {
	# Missing Select-Object and ConvertTo-Html
	Get-TransportRule |
	-Property @{N = 'SenderDomainIs'; E = { ($_.SenderDomainIs | Sort-Object ) -join ', ' } }, @{N = 'RecipientDomainIs'; E = { ($_.RecipientDomainIs | Sort-Object) -join ', ' } }, BlindCopyTo |
	-Fragment

	# Missing Select-Object
	Get-TransportRule |
	name, @{N = 'SenderDomainIs'; E = { ($_.SenderDomainIs | Sort-Object ) -join ', ' } } | ConvertTo-Html -Fragment

	# Missing Select-Object
	Get-TransportRule |
	name, @{N = 'SenderDomainIs'; E = { ($_.SenderDomainIs | Sort-Object ) -join ', ' } }
}

function Xx {

}

PowerShell Version
Name                           Value
----                           -----
PSVersion                      7.2.5
PSEdition                      Core
GitCommitId                    7.2.5
OS                             Microsoft Windows 10.0.19044
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visual Studio Code Version
1.69.2
3b889b090b5ad5793f524b5d1d39fda662b96a2a
x64

Extension Version
<EMAIL_ADDRESS>
Steps to Reproduce
Copy and paste sample and do shift + alt + f with various settings of "powershell.codeFormatting.pipelineIndentationStyle"
function X {
	# Ok
	Get-TransportRule |
		Select-Object -Property @{N = 'SenderDomainIs'; E = { ($_.SenderDomainIs | Sort-Object ) -join ', ' } }, @{N = 'RecipientDomainIs'; E = { ($_.RecipientDomainIs | Sort-Object) -join ', ' } }, BlindCopyTo |
		ConvertTo-Html -Fragment

	# After these lines will go one tab to the right
	Get-TransportRule |
		Select-Object name, @{N = 'SenderDomainIs'; E = { ($_.SenderDomainIs | Sort-Object ) -join ', ' } } | ConvertTo-Html -Fragment

	# After these lines will  go one more tab to the right
	Get-TransportRule |
		Select-Object name, @{N = 'SenderDomainIs'; E = { ($_.SenderDomainIs | Sort-Object ) -join ', ' } }
}

function Xx {

}

Visuals
No response
Logs
No response

Cool!
Thanks :-)
Transferred to PSScriptAnalyzer issue https://github.com/PowerShell/PSScriptAnalyzer/issues/1832

Sorry I closed the issue in VSCode repo and it closed it in the PSScript Analyzer repo too.
I open it again.

Sorry I closed the issue in VSCode repo and it closed it in the PSScript Analyzer repo too.
I open it again.

Ok, so what I can confirm is that with pipelineIndentationStyle being the non-default value of IncreaseIndentationForFirstPipeline or IncreaseIndentationAfterEveryPipeline, then the 3rd Get-TransportRule row gets indented one level too much, the rest is then just a follow on error because PSSA is counting indentation. For the setting None, I can confirm it removes code, the NoIndentation setting was introduced as a better alternative and default to it so although the outcome is much more severe, I think it's better to look at fixing the added indentation that brings follow on code out of line. Debugging and fixing those non-default settings takes time so bear with me please and if the current behavior is not satisfactory enough, I suggest to use the default setting. The ncreaseIndentation settings introduced in the last years have come a long way with lots of similar bug fixes already and it seems there's still more tweaking work to do...

A more minimal repro to work on is this:
Get-TransportRule |
    Select-Object@{E = $_.SenderDomainIs | Sort-Object }

# Starting with this lines indentation is one too much
foo

By playing with it, it seems to stop happening once the | Sort-Object  part gets taken out so I am assuming it's indirectly caused by having an expression with a pipeline inside where PSSA wrongly adds this to the indentation count.


feat: tab as a container + proxy per page

No tests, this needs to be tested manually with high concurrency. Also watch out for Request without proxy in logs.
How do I publish the tab-as-container directory?

demo time
import { PlaywrightCrawler, ProxyConfiguration } from '../crawlee/packages/playwright-crawler/dist/index.mjs';

const proxyConfiguration = new ProxyConfiguration({
    proxyUrls: [
        'http://auto:<password>@proxy.apify.com:8000',
    ],
});

const crawler = new PlaywrightCrawler({
	proxyConfiguration,

	launchContext: {
		launchOptions: {
			headless: true,
		},
		experimentalContainers: true,
		// useIncognitoPages: true, // do not uncomment this
	},

	async requestHandler({ request, page, log }) {
		const result = await page.content();
		const extracted = result.slice(result.indexOf('{'), result.lastIndexOf('}') + 1);
		const { origin } = JSON.parse(extracted);

		log.info(origin);

		log.info(`Processing ${request.url}...`);
	},

	failedRequestHandler({ request, log }) {
		log.info(`Request ${request.url} failed too many times.`);
	},
});

await crawler.run(['https://httpbin.org/anything?a', 'https://httpbin.org/anything?b']);

console.log('Crawler finished.');

Don't merge yet. I just learned that I can write a verifier based on the Network.responseReceived event to ensure that specific requests go through their assigned proxies.

Now we should be good to go 👍🏼


ROX-12808: Increase diagnostic bundle timeouts

Description
We experience multiple timeouts on diagnostic bundle creation on rosa cluster.
This PR doubles the time for sensor metrics gathering.
Testing Performed
CI

/test rosa-qa-e2e-tests

Wouldn't it be better to pass --timeout 60 in the respective roxctl invocation, given that this only seems to occur on Rosa?

I thought about this but then I thought that if we had this in e2e tests than maybe our customers also could run into this issue and since it's little change it's better to change default for everybody then just our tests. Especially, it's not resulting in any performance degradation.

/retest


Botkit boilerplate does not pass initial handshake for Slack's event subscription

Are you sure this is an issue with the Botkit core module?
It could be resolved by slack or botkit however it may be able to be more easily resolved in botkit.
What are you trying to achieve or the steps to reproduce?
I am trying to subscribe a botkit bot to events from slack

Install barebones botkit repo using npm install -g yo generator-botkit && yo botkit
run the bootstrapped server using npm start
Create botkit in slack then configure .env with  BOT_TOKEN, SIGNING_SECRET and VERIFICATION_TOKEN
Use ngrok to expose localhost:3000 to the internet using npx ngrok http 3000
Attempt to enable events using https://api.slack.com/apps/your-app-id-here/event-subscriptions? (can be found under Features -> Event Subscriptions in the sidebar once you have your app selected on api.slack.com)

What was the result you received?
Unable to pass the handshake with the following response on the UI:

Upon further inspection it appears that the server is responding with the wrong Content-Type: text/html rather than the text/plain, application/x-www-form-urlencoded or application/json which are the three response types suggested by the slack documentation . I initially thought that ngrok was perhaps suspect, modifying the response somehow:

But a curl request shows that this is an issue even when the request is sent locally:
curl http://localhost:3000/api/messages -H 'Content-Type: application/json' -H 'Accept: application/json' --data '{"token":"foobar","challenge":"hi its me","type":"url_verification"}' -v
*   Trying ::1:3000...
* Connected to localhost (::1) port 3000 (#0)
> POST /api/messages HTTP/1.1
> Host: localhost:3000
> User-Agent: curl/7.77.0
> Accept: */*
> Content-type: application/json
> Content-Length: 68
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< X-Powered-By: Express
< Content-Type: text/html; charset=utf-8           < ---- this should be text/plain
< Content-Length: 9
< ETag: W/"9-6860Vqr68AiYT0YZ1EVysp65QG4"
< Date: Tue, 01 Feb 2022 21:10:20 GMT
< Connection: keep-alive
< Keep-Alive: timeout=5
<
* Connection #0 to host localhost left intact
hi its me

I believe that this issue can be resolved by responding to this specific request in the proper format.
What did you expect?
To be able to pass the url_verification handshake for events subscription
Screenshots and animated GIFs
Context:

Botkit version: 4.10.0
Messaging Platform: slack
Node version: v10.16.3
Os: macos-montorey
Any other relevant information:

Thank you for this bug report. I just published 4.15.0 of this adapter which should resolve this issue. Please let me know if you have continued problems.

https://github.com/howdyai/botkit/blob/main/packages/botbuilder-adapter-slack/src/slack_adapter.ts#L520
Should it be:
res.header('Content-Type',  'text/plain');


feat(delivery): add reusable project setup script

Extracted from #482; part of #397; related to #347

In discussion with Ace, there are things we want to fix in this approach but we're going to proceed like this is a bit of an experiment and get things merged so we can iterate with more clarity. We will not be putting this into operation as-is.


[gym] Trim ApplicationIdentifierPrefix to get correct Bundle ID

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
Why is this change required? What problem does it solve?
When creating the provisioning profile on developer portal, you are free to choose any App Identifier Prefix, not being limited by the Team ID, so the 'provisioningProfiles' mapping in the exportOptions.plist would be wrong in case the prefix differs from the Team ID.
Please describe in detail how you tested your changes.
I ran gym on a project that has an App ID Prefix different than the Team ID in Developer Portal. It successfully downloaded the provisioning, trimmed the correct prefix and finally generated a correct exportOptions.plist file.
Description
This PR aims to trim 'AppIdentifierPrefix' key contained in the Provisioning Profile rather than the 'TeamIdentifier' key when detecting the provisioning profile to bundle IDs mapping.

@KrauseFx, could you have a look, this breaks our builds for now


Aroon indicators correction

Hi, thanks for sharing your work.
I'm proposing here a correction to Aroon Indicators as follows:
According to:
https://www.tradesignalonline.com/en/lexicon/view.aspx?id=AROON+Up%2FDown+Indicator+(AROON)
http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:aroon
https://www.tradingview.com/wiki/Aroon#CALCULATION
and to the formula provided in the code "AROONDWN = (((PERIOD) - (PERIODS SINCE PERIOD LOW)) / (PERIOD)) * 100"
Numerator calculation should be:
period - (period - index_of_maxormin_value)
not just
(period - index_of_maxormin_value)
I used a reversed version of the list to fix the calculation in both Indicators.
Python 2 and 3 compatible.

Hi @hylden90, thanks for the PR. I'll take a look within the next day.

Hi @hylden90,
Thanks for the correction.

Hi, thanks for checking, I'm happy to help.


Roll engine fa438acfa7ac..5ded729f6aa6 (2 commits)

git@github.com:flutter/engine.git/compare/fa438acfa7ac...5ded729f6aa6
git log fa438acfa7ac..5ded729f6aa6 --no-merges --oneline
2019-10-24<EMAIL_ADDRESS>Roll src/third_party/dart 635c47b1c9..d43cd7e909 (13 commits)
2019-10-24<EMAIL_ADDRESS>Roll src/third_party/skia fd1b164088d5..3f4e52c4071b (2 commits) (flutter/engine#13326)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Auto-roller completed checks. About to merge.


[Bug]: Refresh token is not being processed correctly

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
A user is reporting that the refresh token is not being processed correctly and therefore they must re-authorize the application on a daily basis.  The application (Infusionsoft Max Classic) doesn't use the offline_access method of OAuth2, so needs some investigation.
Steps To Reproduce
Need to get on a call with the user to investigate this issue.
Environment
Production
Version
Self-Hosted

I spent some time going through the overall flow and had a discussion with @Nidhi  regarding this earlier today. Our current assessment is that the issue is with the oauth2 refresh token authorization mechanism - our implementation is slightly different from what the authorization server of the user application expects. We send the client credentials in the body of the API request whereas the user's authorization server expects it via header and base64 encoded : https://developer.keap.com/getting-started-oauth-keys/

fix is in progress - awaiting review


Update local ephemeral storage feature to beta

Update local ephemeral storage feature to beta

/assign

looks straightforward. If a reviewer could add an /lgtm, we're good to go -- thanks!
/approve


OptionSet not triggered for change of 'modified'

With this autocmd:
autocmd OptionSet modified echom localtime()

modify any file. The autocmd is not triggered.

I suppose it works, if you do :set modified? It's a known issue that it only works when setting the option directly and not by simply flipping the C state variables.

Is there a workaround that works with autocmd?


More docs for MGWR

Fixed with https://github.com/spatial-data-lab/knime-geospatial-extension/pull/238


Carthage Installation Support

It'd be great to be able to install SwiftyDraw via Carthage. They have some notes on adding Carthage support to a framework here.
I might have a go at implementing this myself over the next few days, but wanted to open an issue to track any discussion/thoughts.

Hey @fanquake, I've never worked with Carthage before. If you'd like to, please do add the project there.
Please submit a pull request for the readme describing how to install the library using Carthage.

@LinusGeffarth Mind if I work on this issue and PR?

@LinusGeffarth PR submitted. I have tried on my local machine.
You can also try to add the framework from Carthage. Since Carthage fetches from the Github, you can try to fetch from my fork by adding the following line in your Cartfile
github "msztech/SwiftyDraw" "master"
Carthage, comparing to pod, is a little bit complex to set up. You can refer to official README to try set it up. Basically, it builds the codes from the master into a framework.
;-)


Istio response 503

Bug description
Istio return 503 status code and can see the response flags of "-" and "UC" in prometheus.
Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[X] User Experience
[ ] Developer Infrastructure
Expected behavior
Want to know why the curves of "-" and "UC" in prometheus are highly coincident？
Steps to reproduce the bug

server.go

func main() {
	route := gin.New()
	router.InitRoute(route)

	server := &http.Server{
		Addr:    ":8080",
		Handler: route,
		ReadTimeout:    30 * time.Second,
		WriteTimeout:   30 * time.Second,
		MaxHeaderBytes: 1 << 20,
	}
	if err := server.ListenAndServe(); err != nil {
		log.Error("run server error", log.String("error", err.Error()))
	}
}

make a http request

In product environment, some http request do not transmit data normally, the http readtimeout limit will be triggered, and then Istio will return 503
Version (include the output of istioctl version --remote and kubectl version and helm version if you used Helm)
istioctl version --remote output:
client version: 1.3.4
control plane version: 1.3.3

kubectl version output:
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.3", GitCommit:"b3cbbae08ec52a7fc73d334838e18d17e8512749", GitTreeState:"clean", BuildDate:"2019-11-13T11:23:11Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13+", GitVersion:"v1.13.12-eks-c500e1", GitCommit:"c500e11584c323151d6ab17526d1ed7461e45b0c", GitTreeState:"clean", BuildDate:"2019-10-22T03:11:52Z", GoVersion:"go1.11.13", Compiler:"gc", Platform:"linux/amd64"}

helm version output:
Client: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}

How was Istio installed?
Using helm
Environment where bug was observed (cloud vendor, OS, etc)
Amazon Linux 2
Addition
Istio return response_flags "-":

Istio return response_flags "UC":

Does anyone know why their curves are highly coincident？

Maybe be useful: https://karlstoney.com/2019/05/31/istio-503s-ucs-and-tcp-fun-times/

I had the same problem, and I had set the timeouts in my Go program, see codes below.
func main() {
	route := gin.New()
	router.InitRoute(route)

	server := &http.Server{
		Addr:           config.GrinderConfig().HttpPort,
		Handler:        gin.GetEngine(),
		IdleTimeout:    6 * time.Minute,
		ReadTimeout:    30 * time.Second,
		WriteTimeout:   30 * time.Second,
		MaxHeaderBytes: 1 << 20,
	}
	...


Git clone not allowed

I had to setup my system new, installed git (Ruby was already installed) and did git clone git@github.com:MStadlmeier/drivesync.git. The result was:
The authenticity of host 'github.com (<IP_ADDRESS>)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added 'github.com,<IP_ADDRESS>' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.```

As this is a public repository, there can't be any issues regarding authentication. I guess there is something wrong with your rsa keys (do you have the correct permissions on your .ssh folder and private key?)
You can definitely clone the repository using https as a workaround, though
git clone https://github.com/MStadlmeier/drivesync.git

Bit of a necro, but SSH access requires you to generate a SSH keypair (ssh-keygen -t ed25519) and upload the public key (~/.ssh/id_ed25519.pub) in your account settings. If you only need read-only access then you should probably clone over HTTPS instead.
This is generic for all GitHub-hosted repos (and most Git hosts in general), and has nothing to do with this repo in particular.


Unknown backends appearing

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

App Id
d2986q4269uszd
Region
us-east-1
Amplify Console feature
Backends
Describe the bug
A colleague on my team, @ryanpeelman, has three unknown backends showing up on his Amplify app. They appear in the Backend environments tab, with a deployment status that constantly spins in "Fetching." They are named anita, gwyneth, and maggie.

We have no idea where these came from. We use AWS Organizations to manage multiple AWS accounts, and the account in question is meant to be @ryanpeelman's sandbox; I as the manager of the Organization can assume a role into his account, though I have never done so in any workflow relating to Amplify (only management functions like IAM), and no one else even has access.
This seems to be some kind of tenanting or configuration bug within Amplify - we're not seeing random resources showing up in other AWS services - so I'm starting here.
Expected behavior
Backends should not appear unless we put them there.
Reproduction steps
Unknown.
Build Settings
No response
Additional information
Upon attempting to delete one of the environments, we got this:

But when reloading the page, all three remain, with their perpetual "Fetching" status.

Hey @brnmye -- any update on this? It's concerns me that there might be cross-tenant leaks going on with amplify. @djsmedes is on my team.
Thanks

I can't find it in the source code for this repo.. but it looks like this may be deliberate behavior based on these logs:

2021-06-07T20:53:46.867Z [INFO]: BackendEnvironment name ab/cdef for app d1234 is invalid
2021-06-07T20:53:46.944Z [INFO]: Random environment name willy generated

Hello the behavior behind the random backend names appearing is expected. If the name input is invalid it will be replaced with a randomly generated first name such as willy. An acceptable name is 2-10 characters long and must be lowercase letters only. The logs that will appear if the name is invalid and a random name is generated will look like what @codecadwallader commented above. We are working on improving this process, thank you.


FIX: invalid race condition check in RegQueryValueEx

According to docs here

If the data has the REG_SZ, REG_MULTI_SZ or REG_EXPAND_SZ type, this size includes any terminating null character or characters unless the data was stored without them. For more information, see Remarks.

fixes #102

Hi Tom,
Did your check your code against other entries, other than LOCAL_MACHING\HARDWARE\DEVICEMAP\SERIALCOM?

Nevermind, your fix is correct. I'm merging this PR.
Thank you.

Did your check your code against other entries, other than LOCAL_MACHING\HARDWARE\DEVICEMAP\SERIALCOM?

I switched to using "SYSTEM\CurrentControlSet\Control\COM Name Arbiter\Devices" because it also has the PID and VID numbers, and observed the same behavior there.

Nevermind, your fix is correct. I'm merging this PR.

Great!


Encoder-Decoder model(T5) notebook added

I added a new notebook which demonstrate a way to optimize Encoder-Decoder model(T5) using Speedster.
I used the same template of other huggingface notebooks, so others easy to follow along.

Hi @VinishUchiha, thank you very much for this work! Just two little things before merging:

Can you update the title inside the notebook? (I still see "Accelerate Hugging Face DistilBERT with Speedster")
Could you please add it to the table that is in the readme inside the huggingface notebooks folder?

Thanks ;)

Sure @valeriosofi . I am on it

Sure @valeriosofi . I am on it

Thank you, only one more thing, can you please clear the notebook cells outputs? :)


POC for Field-level-validation

@arempe93 I tried implementing your idea, what do you think?

Codecov Report

Merging #77 into master will decrease coverage by 1.98%.
The diff coverage is 85.71%.

@@            Coverage Diff             @@
##           master      #77      +/-   ##
==========================================
- Coverage     100%   98.01%   -1.99%
==========================================
  Files          15       15
  Lines         236      252      +16
  Branches       55       62       +7
==========================================
+ Hits          236      247      +11
- Misses          0        4       +4
- Partials        0        1       +1

Impacted Files
Coverage Δ

src/Form.tsx
100% <100%> (ø)
:arrow_up:

src/useField.ts
77.27% <54.54%> (-22.73%)
: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 8d2f083...8929581. Read the comment docs.

@JoviDeCroock would you be open to an API that works more like this?
// in useField
return [
  {
    ...,
    onError: (error: any) {
      ctx.setFieldError(fieldId, error)
    }
  },
  {
    ...
  }
]

// example component
const TextInput = ({ fieldId, ...rest }: Props) => {
  const [{ onChange, onBlur, onFocus, onError }, { value }] = useField(fieldId)

  return (
    <Input
      {...rest}
      value={value}
      onBlur={onBlur}
      onChange={e => {
        const { value } = e.currentTarget
        onChange(value)
        onError(value.length > 255 ? 'Too long!' : undefined)
      }}
      onFocus={onFocus}
    />
  )
}

// maybe call it setError instead of onError ?

I think this is more extensible and adds fits in well with the other exposed bindings to context

On your comment about triggering validation when submitting, I looked into the code some and it looks like any setFieldError you do in useSpy, useFormConnect, or (with this change) useField is ignored in favor of the validate prop on HookedForm.
Is this what you're referring to?


T265 android support

Required Info

Camera Model
{ T265}

Firmware Version
(<IP_ADDRESS>15)

Operating System & Version
Win 10

Kernel Version (Linux Only)

Platform
PC/Android

SDK Version
2.23.0

Language
C#/unity

Segment
AR/others

Issue Description
Hi,
just wanted to make sure. There's no way to access the T265 device via librealsense aar on android right? I've read the release notes...

Hi @vladHoloArch
Not yet, unfortunately. We do plan to add it later this year, based on customer feedback / demand.

Hi @dorodnic
Been struggling for the last few days to write my own "driver" in java.
The android device recognizes the Movidius ma215x and it seems like a connection can be established.
But when I try to read data from the UsbEndpoint-out I receive nothing..
I know I need to establish a connection with some kind of write bulkBufferTransfer command to the 0 endpoint.
I can't find any official or non official datasheet documentation about the movidius chip usb interface and the T265 datasheet is lean to say the least..
I would really appreciate some direction or guidance cause I'm clueless...

Hi @vladHoloArch,
You need to uploaded (with a single bulk write) the firmware (target.mvcmd) to the Movidius device before it turns into a T265 device from which you can get data.  After that, you can start the pose or image streams.

Thanks @radfordi
do I just convert the firmware to bytes and send it to endpoint 0? there's no api how to I format my request to open pose/image stream?

Yes.
static const int USB_TIMEOUT = 10000/*ms*/;

static void tm2_boot(libusb_device *device, const std::string &fw) {
    libusb_device_handle *handle = nullptr;
    if (libusb_open(device,&handle))
        return;
    if (libusb_claim_interface(handle, 0))
        goto close;
    {
        int written = -1;
        int e = libusb_bulk_transfer(handle, 0x1, (unsigned char*)fw.c_str(), fw.size(), &written, USB_TIMEOUT);
        if (e || written != (int)fw.size())
            std::cerr << "Cannot write firmware to TM2 bootloader " << written << "/" << fw.size() << " bytes written: " << libusb_error_name(e) << "\n";
    }

    libusb_release_interface(handle, 0);
  close:
    libusb_close(handle);
}

@radfordi can you show me what you use for opening the stream after writing the firmware?
does the device needs to be requested each time before it writes the frames to endpoint 1 or it just starts writing and overwriting the last data? meaning do I just need to read from the endpoint after opening the stream?

@vladHoloArch, Is there anything further required on this ticket?

Hi @vladHoloArch, @radfordi,
any progress in the POC to connect from Android with T265?
Many thanks in advance
Juan Antonio

@jabrena
yep, check out my repo - https://github.com/vladHoloArch/SlamDriver/blob/master/t265lib/src/main/java/com/example/t265lib/USBController.java

With the update from @vladHoloArch, can this be closed out?
Thanks

Hi @vladHoloArch, this PR #5213, replacing libtm, drastically simplifies the librealsense interface to the T265, and should give you some ideas for your Android port.

This issue shouldnt be closed as there still is no official support for t265 on Android.

I agree with @TheBricktop. As long as there is no official support this thread would be really useful to get some information about when we can expect it to work.
@vladHoloArch is your repo/code still accessible somewhere?

Hi @vladHoloArch, this PR #5213, replacing libtm, drastically simplifies the librealsense interface to the T265, and should give you some ideas for your Android port.

This is true, it makes USB usable for the first time on macOS too. But as a side effect it makes python unusable. One should know. See https://github.com/IntelRealSense/librealsense/issues/5276#issuecomment-555743637 please

Hi @vladHoloArch, this PR #5213, replacing libtm, drastically simplifies the librealsense interface to the T265, and should give you some ideas for your Android port.

This is true, it makes USB usable for the first time on macOS too. But as a side effect it makes python unusable. One should know. See #5276 (comment) please

Hmm. Maybe you disregard that. Seems, the development branch has a general issue with python, regardless of this PR


Splunk shapes

https://wiki.splunk.com/Community:Splunk_Visio_Stencil

It works, but takes a long time


LinkedIn Marketing API

We've been approved for the LinkedIn marketing API and as part of this our apps automatically get shifted from v1 to v2 of the API (which they don't tell you prior to the switch, a word of warning for anyone else applying).
This switch caused everything to break with this library.
Does this library support v2, and if so are there any docs?

What is the difference between v1 and v2? And what functionality is needed for v2?

Details can be seen here: https://developer.linkedin.com/docs/guide/v2/concepts
Quite a few differences

So I've now implemented a fork of this client to work with v2 - the changes are minor in the quantity of code changes but major in how queries are handled. I'd prefer this library gets updated to work with v2 rather than maintain a slightly different package.
Mine is at https://github.com/scottybo/LinkedIn-API-client-v2


Exads\Client isn't extendable

The problem is - I want use a proxy for sending request and for make this work I need to configure curl with couple of curl_setopt() calls.
I want extend my Client class from Exads\Client and change there method runRequest(), because this is a place where request sends. And I can't change this method because it uses couple of private properties and methods of Exads\Client. Why ? It's a very bad design.
Can you at least separate initial curl initialization in separated protected method ? For example this basic part
public function initCurl(array $params = []) {
$curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $this->url.$path);
        curl_setopt($curl, CURLOPT_VERBOSE, false);
        curl_setopt($curl, CURLOPT_HEADER, true);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_PORT, $this->getPort());
        if (80 !== $this->getPort()) {
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, $this->checkSslCertificate);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, $this->checkSslHost);
        }

return $curl;
}

After this modification programmers will have possibility easy change this method in their inherited class using own $params.

Another option is change AbstractApi class, especially it's constructor parameter. It should accept Exads\ClientInterface, not Client realization.
In this way programmer could create own Client which implements Exads\ClientInterface and inject it to concrete API class realization.

@seyfer i have introduced ClientInterface as you suggested!


snapshot serializer fails to serialize invalid dates

🐛 Bug Report
expect(new Date(NaN)).toMatchSnapshot()
// will throw a RangeError: Invalid time value
//        at Date.toISOString (<anonymous>)

To Reproduce
Create a simple test with the code above
Expected behavior
Even if it sounds weird to expect a date to be invalid, it shouldn't fail to create a snapshot with an invalid one. It should serialize it as invalid-date for example (NOT NaN since we need to know that it's a date type in the snapshot).
As an example of use, I experienced this while creating tests for a serializer/deserializer where I needed to save and restore invalid dates...
Link to repl or repo (highly encouraged)
https://github.com/huafu/jest-issue-demo
Run npx envinfo --preset jest
Paste the results here:
  System:
    OS: macOS High Sierra 10.13.5
    CPU: x64 Intel(R) Core(TM) i5-4288U CPU @ 2.60GHz
  Binaries:
    Node: 10.4.0 - ~/.nvm/versions/node/v10.4.0/bin/node
    Yarn: 1.7.0 - /usr/local/bin/yarn
    npm: 6.1.0 - ~/.nvm/versions/node/v10.4.0/bin/npm
  npmPackages:
    jest: ^23.3.0 => 23.3.0

Wanna send a pr for it? It's pretty-format

eta 30 min

Ok will do now, since I've already did a custom serializer for that in my project...


Write unit tests for the CloudStorageRetryHandler class

We recently extracted a simple CloudStorageRetryHandler class to keep track of retries/reopens in google-cloud-nio. This class needs unit tests, as per the discussion in https://github.com/GoogleCloudPlatform/google-cloud-java/pull/2281

@jean-philippe-martin or myself can take this on when we have time.

There is a merged PR. Does that mean this can be closed now?


feat: add static endpoints for weather proxy

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)

Closes #XXXXX

It doesn't seem like my key is in the VM and the droplet console just hangs with "waiting for console" on the screen.

@Nirajn2311 I think you've deployed most recently: how is it done these days?

I've not done any deployments of the demo projects 😅

It should work now. BTW, lets move logistical discussions to internal chat.


Missing game binaries after running launcher

I'm running the script on a Ubuntu machine, with i3-wm as my window manager. I can download releases from the official CataclysmDDA github and run them fine, but when I use your launcher and I try to run the resulting "cataclysm-launcher" in the game's directory, I get the following error:
Couldn't find cataclysm game binary in /home/max/games/Cataclysm-DDA/
Here's a pastebin link containing everything that shows up in my terminal whilst running your launcher.

Same as #9
Can be fixed by downloading the new copy of Cataclysm-Ubuntu-Launcher.sh from the master branch and running.
The problem came from a typo that I repeated for compiling, where instead of CCACHE=1 it was CCACHE-1. You can either manually change these or download the fixed version.

didn't wor

@M1m1c11 Unfortunately I'm not completely surprised.
As mentioned within #14, I have not been able to find the time to actively maintain this project so it is at least partially out of date.
You MIGHT have some better luck with the test branch, though I can't promise anything at this time.


Digital River Global Commerce

Adaptor account not available, will need to create a new account for connectors.


Update?

qBittorrent is currently @ version 4.3.9. The snap is 11 months behind.
Thanks

Updated candidate/latest to 4.3.9 - I'll push to stable once I get confirmation it works

It would be great, if you would finally update armf too.... :(

Thanks for the update!

It would be great, if you would finally update armf too.... :(

@CryptoEU Its a bit difficult since I don't have an armhf board laying around to test on. I'll try but the latency of testing via remote-build is a pain


wee_alloc can appear to leak

I recently converted a piece of software from std-web to web-sys and everything went really well at least in super light testing. However, unbeknownst to me, a memory leak crept in and it turns out to happen when I use wee-alloc and have my project configured like I think yew-wasm-pack-template is demonstrating.
If I do the same thing using wasm-pack, I don't see the behavior.
I've created a repository that demos what I'm seeing. My workaround is simply not to use wee-alloc, but this behavior is surprising enough to me that I think it probably makes sense to mention it to somebody. I do, however, feel bad mentioning it here, but I think I'd feel worse mentioning it elsewhere.

Haha, I appreciate you bringing this up, we should definitely figure out why this is happening!

Just experienced this too and, after spending a few hours tracking down the cause, found this related issue: https://github.com/rustwasm/wee_alloc/issues/106

Thanks @finnbear, @CraigMacomber, and anyone else looking into this. It's bitten so many people I feel bad I didn't chase it down a couple of years ago.


Add support for disabling tests, disable everything accessing live websites in CI

@mkiael Think something like this is fine for now?
I'm hacking on a nicer abstraction that will allow testing this without a live web server to speak with, but this unblocks CI so we can continue merging things. It's been on my todo for a bit, but this makes it more important. :P

Looks good!


added 'location' to items table and created function to view all items

Changes made: added "shipping" and "location" column to items table. Added an endpoint to get all items in the db that are published. Finally, added an endpoint to fetch draft items via seller ID


Number Input on iOS

How can a number keypad be shown when a user clicks on a text input that requires only numbers to be filled in?

Hi @athenawisdoms  you can try to do <input type="text" pattern="\d*">. This will cause numeric keyboard to show up.

Actually I think you just need to use an HTML5 number input: <input type="number">


There was a problem communicating with Google servers. Try again later.

i Try many times to fix this, but I can`t.

https://github.com/cinit/WSAPatch/assets/134547839/2dbb56bc-8b73-45a7-8c6b-2a5755af3dad

that is an issue of WSA attempting to use the wrong adapter if you have multiple of them active, to fix it turn off all your network adapters except the primary one you use to connect to the internet


Drop Handle interface in v2.0?

Should we drop this now? Or do you still want to keep it?
https://github.com/amphp/file/blob/f3d47a33ae01e3e151c8c0ddc3530d4ad7d1ce1e/src/Handle.php#L10-L12

Deleting it doesn't seem to bring any benefit, so I'd just keep it.

Ok


electrs: control the log level in the conf only

It is a returning question to enable electrs logs and the systemd setting is unexpected so better to remove. See: https://t.me/raspiblitz/134975
Reducing the level in the electrs config to WARN.
Other options:
https://docs.rs/env_logger/latest/env_logger/#enabling-logging
error
warn
info
debug
trace

Why the change to WARN? INFO is already quite sparse

hello?

If openoms has experience from telegram suipport that this runs more stable for people I merge it - maybe electrs can run in edge cases where its spams logs on info level.


feat(sbb-radio-button-group): emit radio button in change event

Codecov Report
Attention: 88 lines in your changes are missing coverage. Please review.

Comparison is base (638977d) 92.61% compared to head (6f0bd05) 95.97%.
Report is 131 commits behind head on master.

Files
Patch %
Lines

src/components/core/dom/spread.ts
80.48%
8 Missing :warning:

src/components/icon/icon-base.ts
89.74%
8 Missing :warning:

...metable-occupancy-icon/timetable-occupancy-icon.ts
92.66%
8 Missing :warning:

...nents/core/common-behaviors/slot-child-observer.ts
93.33%
5 Missing :warning:

src/components/core/dom/breakpoint.ts
42.85%
4 Missing :warning:

src/components/autocomplete/autocomplete.ts
86.95%
3 Missing :warning:

src/components/card/card-action/card-action.ts
70.00%
3 Missing :warning:

src/components/core/dom/dataset.ts
25.00%
3 Missing :warning:

src/components/core/dom/host-context.ts
40.00%
3 Missing :warning:

...onents/core/eventing/connected-abort-controller.ts
40.00%
3 Missing :warning:

... and 26 more

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2267      +/-   ##
==========================================
+ Coverage   92.61%   95.97%   +3.36%
==========================================
  Files          53      334     +281
  Lines        2409    39187   +36778
  Branches      254     2197    +1943
==========================================
+ Hits         2231    37611   +35380
- Misses        176     1532    +1356
- Partials        2       44      +42

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


Minor sphinx fixes

A few small fixes to docstrings and Sphinx rst files.  This removes some warnings in the make sphinx output and fixes a few problems in the generated HTML.

Thanks! we've got a doc writer/editor that's due for an incoming pull request today for some structural changes on the docs (still sphinx just different layout), i'm going to defer on this till that's merged.

looks like a conflict on offhours.py

lgtm

@kapilt - fixed the merge conflict.  Should be good to go now.

the diff is a bit odd since it has other commits mingled in, but the overall looks fine, thanks.


Change the indent & spacing of UI files to match golang files

Current Behavior

We have a different set of indents and spaces for our server code & UI code which we need to eliminate.
Desired Behavior

Change the indent & spacing of UI files to match golang files, more context here https://github.com/layer5io/meshery/pull/1020#discussion_r427122097

Resources

Change the rule here https://github.com/layer5io/meshery/blob/1a2bba9232f5ef92f530a4905fac23fa6efcfe9b/ui/.eslintrc.js#L42
See rule details https://eslint.org/docs/rules/indent
Once you have changed the rule, run make run-ui-lint from root of the repository

Hi @tsingh2k15, This issue may be of interest to you.

thanks @kushthedude , I will take this up.

Not required now!


feat: add dynamic page color display

This PR simply adds a meta property theme-color to update browser user interface display creating a more "immersive experience".
The value is not yet supported in all major browsers. Having the theme-color property set only adds the dynamic interface color to supported browsers; it doesn't break unsupported ones.
Here's a screenshot of how it looks like in Safari

Very cool, thank you!


Return error, not just log it, when failing to get the status of a

A proposed fix for issue #3971
When status command fails, it should return an exit code != 0.
Signed-off-by: Assaf Lavie<EMAIL_ADDRESS>

LGTM

Thanks @assaflavie !


Cherry Pick * 568a63bcc (HEAD, origin/guyn/streams/validate_streams) feat: allow a streamed proposal channel on top of existing one

This change is

#2418
#2417  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Prometheus instrumentation

Hi
Is there any chance, that we can get Prometheus instrumentation in zeebe-simple-monitor?
Best regards

@darox please share what exactly you are looking for. And why?

@saig0 Sure. We're using simple-monitor to dump data into Postgres and it would very practical if we could monitor this process with Prometheus. I can also think of monitoring the process of importing data from Hazelcast. See. https://tanzu.vmware.com/developer/guides/spring-prometheus/ for an implementation example.

@darox thank you for the details. Please list the concrete metrics that you would like to see.
Contributions as pull requests are welcome :grin:

@saig0 Just opened a PR, though the CLA seems to be pending, no idea why.

@darox awesome :tada: I'll have a look at your PR in a few days :eyes:

@saig0 Amazing. I might work on additional custom instrumentation, but for that I will raise a new PR.


Error CS0122 - DXCollectionViewBase.g.cs

Hello,
Could you please help me with there errors? I'm getting there errors while trying to integrate DXCollectionView ont NET 8.
DXCollectionViewBase.g.cs(60,105): Error CS0122 : 'DXCollectionViewBase.FooterProperty' is inaccessible due to its protection level
DXCollectionViewBase.g.cs(61,105): Error CS0122 : 'DXCollectionViewBase.HeaderProperty' is inaccessible due to its protection level
DXCollectionViewBase.g.cs(62,105): Error CS0122 : 'DXCollectionViewBase.IsRefreshingProperty' is inaccessible due to its protection level
DXCollectionViewBase.g.cs(63,105): Error CS0122 : 'DXCollectionViewBase.ScrollItemCountProperty' is inaccessible due to its protection level
DXCollectionViewBase.g.cs(64,105): Error CS0122 : 'DXCollectionViewBase.ShowFooterProperty' is inaccessible due to its protection level
DXCollectionViewBase.g.cs(65,105): Error CS0122 : 'DXCollectionViewBase.ShowHeaderProperty' is inaccessible due to its protection level

Hi,
I've fixed the issue in the latest sample just published:
https://github.com/adospace/mauireactor-integration/blob/main/DevExpress/DevExpressIntApp/Pages/MainPage.cs
Please take a look at sample for the DxCollectionView implementation with latest MauiReactor version.


add support for windows10 platform

Could you proivide me some info, about what you've just done?
Because I'm not a Windows 10 dev.
For instance, I see a vault var, does this mean the stored value is encrypted in any way?

hey,
The PasswordVault lets application to store and retrieve user’s credentials in a secure way: all password are encrypted and cannot be accessed by other applications.
see: https://msdn.microsoft.com/de-de/library/windows/apps/windows.security.credentials.passwordvault.aspx

I'll test your PR, if everything is OK. I'll merge it.

Is the test suite passing?

I'm installing the requirements for testing on Windows 10 :) I'll check the other platforms now.

@3h3c  When building the demo application (from the cordova CLI)  I get the following error:
Error: Properties.PublisherDisplayName elements must be non-empty in appxmanifest at undefined

Android & browser passed the test.

hey,
any new news?

I've installed VS 2015.
But I'm unable to run our test suite.
The following error occured: "Error: Properties.PublisherDisplayName elements must be non-empty in appxmanifest at undefined"
Extra info: command was "cordova run windows", and I had an available windows device "Available windows devices: 0. Device (device)".

try to build it with:
cordova build windows --arch="x86"
and run with cordova run windows --arch="x86"

I got the same result:

you have to change your config.xml.
add these lines:

 +        Example Company
 +

Windows: not passed
Things to do:

implementing correct error objects
getInt returns string instead of number

Please see this section to test your implementation. Change the git clone to your repo.

Errors thrown because of 'Encryption' tests, can be disgarded because it isn't implemented in iOS. And Windows functionality has priority. So the only errors you can have are these related to the encryption methods.

Commit  not confirmed.
The returned value is now undefinied. (Error: Expected undefined to equal 154243)

Are the tests passing? You merged it?

Tests have passed, and it's merged! :)

Gonna publish it to NPM now.

Published on NPM


How to load dependency plugins?

I am trying to make a small plugin that depends on ProtocolLib. Unfortunately when I runPaper I get this message
org.bukkit.plugin.UnknownDependencyException: Unknown/missing dependency plugins: [ProtocolLib]. Please download and install these plugins to run ...
I added the directives to the gradle as suggested and I think the problem lies with runpaper (?)
Here is the build.gradle

plugins {
    id("java")
    kotlin("jvm") version "2.0.20-Beta2"
    id("com.github.johnrengelman.shadow") version "8.1.1"
    id("xyz.jpenilla.run-paper") version "2.3.0"
}

group = "me.bynect"
version = "0.0.1"

repositories {
    mavenCentral()
    maven("https://repo.papermc.io/repository/maven-public/") {
        name = "papermc-repo"
    }
    maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots") {
        name = "spigot-repo"
    }
    maven("https://oss.sonatype.org/content/groups/public/") {
        name = "sonatype"
    }
    maven("https://repo.dmulloy2.net/repository/public/")
}

dependencies {
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    compileOnly("io.papermc.paper:paper-api:1.21-R0.1-SNAPSHOT")
    compileOnly("com.comphenix.protocol:ProtocolLib:5.1.0")
}

val targetJavaVersion = 21
kotlin {
    jvmToolchain(targetJavaVersion)
}

tasks.build {
    dependsOn("shadowJar")
}

tasks.processResources {
    val props = mapOf("version" to version)
    inputs.properties(props)
    filteringCharset = "UTF-8"
    filesMatching("plugin.yml") {
        expand(props)
    }
}

tasks.runServer {
    minecraftVersion("1.21")
    jvmArgs("-Dcom.mojang.eula.agree=true")
}

run-paper does not randomly attempt adding classpath jars as plugins. You need to add plugins to the plugin jar collection on the task or use the plugin downloaing feature covered in the wiki.

run-paper does not randomly attempt adding classpath jars as plugins. You need to add plugins to the plugin jar collection on the task or use the plugin downloaing feature covered in the wiki.

Where?
Also I added it as a dependency in the gradle and in the plugin.yml so is not "random"


Updated unit tests

Wait to merge until after first 2 PR's are merged.

Compete review the PR and confirm UT


fix: update manifests for OpenShift

This change updates following:

Makefile to include check in case of undefined storageclass. also fixes some indentation issues.
removes s from RETRY_DELAY used inside wait.sh as sleep for macos doesn't support <time>s.
fixes issue where make resource fails due to netobserv namespace not available before creating the netobserv resource.

echo "STORAGE_CLASS=managed-csi" > config/resources/storage.env
kubectl apply -k config/resources
namespace/chat created
namespace/minio created
configmap/storage-env-468h4442kd created
secret/minio created
secret/minio created
service/minio created
persistentvolumeclaim/minio created
deployment.apps/minio created
flowcollector.flows.netobserv.io/cluster created
clusterlogforwarder.logging.openshift.io/instance created
clusterlogging.logging.openshift.io/instance created
lokistack.loki.grafana.com/loki created
lokistack.loki.grafana.com/logging-loki created
pod/chat-x created
Error from server (NotFound): error when creating "config/resources": namespaces "netobserv" not found
make: *** [resources] Error 1

cc: @alanconway


added footer

Static footer added.

Why did you closed it, you need any help?

I need roboto font and the footer pulled by you has not full span of the bottom.


Add event retry implementation

Ref https://github.com/brigadecore/brigade/pull/1376 for go SDK implementation

Related to https://github.com/brigadecore/brigade/pull/1376