after enable slack plugin adding more slashes(//) after every log

Describe the bug
After adding fluent-plugin-slack plugin its adding a slash after every generates a log.
To Reproduce
None
Expected behavior
Log should be same it should not add ////the
Your Environment
Staging
using docker fluent/fluentd:v1.4-2

Your Configuration
    <label @FLUENT_LOG>
      <filter **>
      @type grep
      <regexp>
      key message
      pattern (failed to flush the buffer)
      </regexp>
      </filter>
      <match fluent.*>
        @type slack
        webhook_url "https://hooks.slack.com/XXX"
        channel test
        message *Time* %s *Message* %s
        message_keys time,message,
        username test
        icon_url https://www.fluentd.org/favicon.ico
        flush_interval 120s
      </match>
    </label>

Your Error Log
Time 21:42:19 Message failed to flush the buffer. retry_time=3 next_retry_seconds=2021-09-09 21:42:23 +0000
Time 21:32:37 Message out_slack: post_message {:text=>"Time 21:31:36 Message out_slack: post_message {:text=>\"Time 21:30:36 Message out_slack: post_message {:text=>\\\"Time 21:29:31 Message out_slack: post_message {:text=>\\\\\\\"Time 21:28:26 Message out_slack: post_message {:text=>\\\\\\\\\\\\\\\"Time 21:27:25 Message out_slack: post_message {:text=>\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Time 21:26:25 Message out_slack: post_message {:text=>\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Time 21:25:25 Message out_slack: post_message {:text=>\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Time 21:24:25 Message out_slack: post_message {:text=>\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Time 21:23:25 Message out_slack: post_message {:text=>\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Time 21:22:25 Message out_slack: post_message {:text=>\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"Time 21:21:20 Message failed to flush the buffer. retry_time=0 next_retry_seconds=2021-09-09 21:21:21 +0000 chunk=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Additional context
No response

After adding fluent-plugin-slack plugin its adding a slash after every generates a log.

Do you mean back slash (not slash)?
Anyway, it seems it's your configuration's problem.

You are picking all events that includes failed to flush the buffer by filter_grep
When such event is picked, out_slack tries to send it and output a log.info message like Message out_slack: post_message { [contents of the event...] }
Such log message also includes failed to flush the buffer, so it also picked by 1.
out_slack tries to send it by 2. Because the first message is nested in the second message, " in the first message is escaped as \".
The log message in 4. is also tried to send by out_slack and \" is escaped as \\\".
...

So, you should exclude out_slack's log.info messages like Message out_slack: post_message by using more strict regexp (or tag or exclude of fitler_grep or something).


chore(locales): copy nui menu en keys to all locales

I did work :)

Closed at authors request

rolled


Created userFileUploadWebAgent

This must be merged with https://github.com/nanoPayinc/NANOPAY/pull/7176
https://nanopay.atlassian.net/browse/CPF-1139
FileUploadWebAgent to upload files(AdditionalDocuments) on a given user via API

Replaced by Refactor with DocumentDAO.


[FEATURE]: Badge for uploading first snippet

Feature Summary
a user should get a badge after uploading their first snippet
the user shall see a toast and confetti pop up after they upload their first snippet.
this badge should display on their profile page.
Acceptance criteria
^ see above
Scenario
No response
Any Additional Context
No response
Code of Conduct

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

Assigning this to myself.


PR for Issue #8: Added output for internet gateway

Signed-off-by: Dirk Fuchs<EMAIL_ADDRESS>

Thank you for your contribution.  Please note that we can only merge PR's from signatories of the Oracle Contribution Agreement.  Please see our CONTRIBUTING.md for more information.

Thank you for your contribution. Please note that we can only merge PR's from signatories of the Oracle Contribution Agreement. Please see our CONTRIBUTING.md for more information.

Hi, could you kindly describe what I missed? This change adds an output. I was not able to find any docs on existing outputs that could have been extended.

Yes, we can only accept PR's from people who have signed the Oracle Contribution Agreement.  There is a link to that in the CONTRIBUTING.md.  Here is a direct link: https://www.oracle.com/technical-resources/oracle-contributor-agreement.html
I cannot merge/accept your PR unless you sign that agreement.  Since this is such a small change, if you prefer not to sign the agreement, I am pretty sure I could go and implement a fix for your issue independently for you.

Thanks for clarification! I sent my OCA.
Cheers Dirk

Thanks. I will check for the approval, and then i can merge this. Thanks again for contributing!


Provide an example of DTLS server and client with certificates instead of PSK

Can you please provide an example of DTLS echo server and simple DTLS client.
Provided in the bootom of this message code for some reason do not work anymore. I got an error:
bind <socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=17, laddr=('<IP_ADDRESS>', 0)> ('<IP_ADDRESS>', 4433)
 . >>>
Traceback (most recent call last):
  File "./mbedtls_server.py", line 134, in <module>
    echo_until(srv, b"\0")
  File "./mbedtls_server.py", line 108, in echo_until
    cli, cli_address = sock.accept()
  File "/mbedtls/tls.py", line 298, in accept
    self.bind(sockname)
OSError: [Errno 98] Address already in use

          Hi, thank you for your feedback. I will have to look into the ```D/TLSConfiguration``` bug.

Here are not-so-short but tested examples of a DTLS server and a DTLS client that work on my machine. The code is probably not that great but this is what I have used to implement DTLS.
Listening on "<IP_ADDRESS>" for the server is important. It will not work if you only listen on "<IP_ADDRESS>" for example. This is because DTLS accept() steals the first client socket to handshake and communicate with the client. The server then bind()s another socket for the next client.
This is also what happens in net_socket.c from upstream libmbedtls and I do not know of a better way to handle handshake over UDP...
#!/usr/bin/env python

"""Example DTLS server"""

import datetime as dt
import socket
import struct

import mbedtls.hash as hashlib
from mbedtls.pk import RSA, ECC
from mbedtls.x509 import BasicConstraints, CRT, CSR
from mbedtls.tls import *
from mbedtls.tls import _enable_debug_output, _set_debug_level

now = dt.datetime.utcnow()
digestmod = hashlib.sha256

ca0_key = RSA()
ca0_key.generate()
ca1_key = ECC()
ca1_key.generate()
ee0_key = ECC()
ee0_key.generate()

ca0_crt = CRT.selfsign(
    CSR.new(ca0_key, "CN=Trusted CA", digestmod()),
    ca0_key,
    not_before=now,
    not_after=now + dt.timedelta(days=90),
    serial_number=0x123456,
    basic_constraints=BasicConstraints(True, -1),
)
ca1_crt = ca0_crt.sign(
    CSR.new(ca1_key, "CN=Intermediate CA", digestmod()),
    ca0_key,
    not_before=now,
    not_after=now + dt.timedelta(days=90),
    serial_number=0x234567,
    basic_constraints=BasicConstraints(True, -1),
)
ee0_crt = ca1_crt.sign(
    CSR.new(ee0_key, "CN=End Entity", digestmod()),
    ca1_key,
    not_before=now,
    not_after=now + dt.timedelta(days=90),
    serial_number=0x345678,
)

with open("ca0.crt", "wt") as ca:
    ca.write(ca0_crt.to_PEM())

trust_store = TrustStore()
trust_store.add(ca0_crt)

def block(cb, *args, **kwargs):
    while True:
        try:
            result = cb(*args, **kwargs)
        except (WantReadError, WantWriteError):
            print(" .", cb.__name__)
        else:
            print(" .", "done", cb.__name__, result)
            return result

conf = DTLSConfiguration(
    trust_store=trust_store,
    certificate_chain=([ee0_crt, ca1_crt], ee0_key),
    validate_certificates=False,
)

_enable_debug_output(conf)
_set_debug_level(1)

def echo_until(sock, end):
    cli0, cli_address0 = sock.accept()
    cli0.setcookieparam(cli_address0[0].encode("ascii"))
    try:
        block(cli0.do_handshake)
    except HelloVerifyRequest:
        print("HVR")

    cli1, cli_address1 = cli0.accept()
    cli0.close()
    cli1.setcookieparam(cli_address1[0].encode("ascii"))
    block(cli1.do_handshake)
    print(" .", "handshake", cli1.negotiated_tls_version())

    cli = cli1

    while True:
        data = block(cli.recv, 4096)
        print(" .", "R", data)
        nn = block(cli.send, data)
        print(" .", "S", nn, len(data))
        if data == end:
            break

    print(" .", "done")
    print(cli)
    cli.close()

address = ("<IP_ADDRESS>", 4433)
host, port = address

ctx = ServerContext(conf)
srv = ctx.wrap_socket(
    socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
)

print(" .", "bind", srv, address)
srv.bind(address)

while True:
    print(" .", ">>>")
    echo_until(srv, b"\0")
    print(" .", "<<<")

#!/usr/bin/env python

"""Example DTLS client"""

import socket
import struct

from mbedtls.x509 import CRT
from mbedtls.tls import *
from mbedtls.tls import _enable_debug_output, _set_debug_level

with open("ca0.crt", "rt") as ca:
    ca0_crt = CRT.from_PEM(ca.read())

trust_store = TrustStore()
trust_store.add(ca0_crt)

conf = DTLSConfiguration(trust_store=trust_store, validate_certificates=False)

_enable_debug_output(conf)
_set_debug_level(1)

address = ("<IP_ADDRESS>", 4433)
host, port = address

ctx = ClientContext(conf)
cli = ctx.wrap_socket(
    socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP),
    server_hostname="localhost",
)

print(" .", "connect", address)
cli.connect(address)

def block(cb, *args, **kwargs):
    while True:
        try:
            result = cb(*args, **kwargs)
        except (WantReadError, WantWriteError):
            print(" .", cb.__name__)
        else:
            print(" .", "done", cb.__name__, result)
            return result

block(cli.do_handshake)
print(" .", "handshake", cli.negotiated_tls_version())

msg = b"hello"
for _ in range(1):
    nn = block(cli.send, msg)
    print(" .", "S", nn, len(msg))
    data, addr = block(cli.recvfrom, 4096)
    print(" .", "R", nn, data)
else:
    block(cli.send, b"\0")
    block(cli.recvfrom, 4096)

print(cli)
cli.close()

Originally posted by @Synss in https://github.com/Synss/python-mbedtls/issues/20#issuecomment-480888266

I’ll have a look. It’d certainly be a good idea to add such a test to the test suite anyway.

In short, you need to set the certificate chain to the configuration
https://github.com/Synss/python-mbedtls/blob/master/tests/test_tls.py#L403-L409
I'm a bit short on time these days. I'll still try to provide a complete example in the next few days.

In short, you need to set the certificate chain to the configuration https://github.com/Synss/python-mbedtls/blob/master/tests/test_tls.py#L403-L409 I'm a bit short on time these days. I'll still try to provide a complete example in the next few days.

Thanks, it will be really useful. I did try it as in the example but unfortunaly it did not work in my case.

I've tried it here again and, whereas TLS works as expected, DTLS hangs. I need to debug that.

https://github.com/Synss/python-mbedtls/commit/88b4a3b38ab3130a7ce5b8c9ec501ef50137cd77 adds a sans-io example.

sorry,I run the test_tls and it still failed.

CI is green. The tests do pass. What did you do exactly that fails? You should probably open another issue for this anyway with the error message and so on.

I want to know the version of your tls.py module

@superbiao654 Please stop hijacking this issue with a different problem and open your own with a full repro and following the provided template.

I'm sorry, but if I can explain my problem again, when I run the test_tls.py file you provided, the pycharm software gives the following error "raceback (most recent call last):
Traceback (most recent call last):   File "C:\Users\夏涛\Desktop\GitHub交流\python-mbedtls\tests\test_tls.py", line 40, in <module>     from mbedtls.tls import ( ImportError: cannot import name 'MaxFragmentLength' from 'mbedtls.tls' (C:\Program Files\Python39\lib\site-packages\mbedtls\tls.py)

I am sorry, but please allow me to explain my problem again. When I run the test_tls.py file you provided, the pycharm software reports the following error

D:\python39inter\Scripts\python.exe C:\Users\Desktop\GitHub交流\python-mbedtls\tests\test_tls.py
Traceback (most recent call last):
File "C:\Users\Desktop\GitHub交流\python-mbedtls\tests\test_tls.py", line 40, in
from mbedtls.tls import (
ImportError: cannot import name 'MaxFragmentLength' from 'mbedtls.tls' (C:\Program Files\Python39\lib\site-packages\mbedtls\tls.py)

@Synss  Thank you for providing the server.py example. Using it I was able to implement a PSK based DTLS server. Without the example in _make_dtls_connection() it would be hard to figure out the correct sequence of accepts and handshakes.

@hwmaier yes, indeed! Would you mind sending a pull request with your changes on 'server.py'?

Sorry my comment was probably misleading. I did not have to change anything in your code. Your example code is working well for me and I used it as a template for my own server implementation. I only added my comment here to express that in my opinion the recent release has a good and working example others should be able to follow.

That's fair as well. Thank you for confirming that there is no problem with the library and that the examples are good enough.


Ability to set minimum width or height in pixels?

Describe the feature in detail (code, mocks, or screenshots encouraged)
I want to be able to set a a minimum width in pixels so a side panel cannot be made smaller than the minimum. I tried using CSS classes for this which kind of works but has slightly funky behavior.
What type of pull request would this be?
Enhancement
Provide relevant links or additional information.
No response

This is unlikely to make it into the project anytime soon. While it seems simple at the surface level, it actually adds an (IMO) unmaintainable level of complexity into the project that I'm not willing to accept at the moment.
It has already been attempted and eventually removed in the well established React Resizable Panels, due to the amount of unexpected edge cases that come into play that make it a nightmare.

One thing we could possibly do is expose a callback prop like shouldResize or onResize where you'd get a reference to the pane being resized and could potentially prevent it from being able to shrink of the element is below a certain width/height or above a certain width/height.

One thing we could possibly do is expose a callback prop like shouldResize or onResize where you'd get a reference to the pane being resized and could potentially prevent it from being able to shrink of the element is below a certain width/height or above a certain width/height.

If easy to implement, that would cool! I definitely don't want to add a lot of work onto you.


[New] - Token Name | Anatomy

- [ ] Technical review
- [ ] Content review
- [ ] Initial doc created

Intro to tokens/👀 2 Token Anatomy - Name V0.1.md


[BUG] user_followers is freezing

user_followers function freezes forever

@Eikosa try cl.user_followers_v1('575009265', amount=5)

Thanks so much.

@Eikosatentarcl.user_followers_v1('575009265', amount=5)

Thanks, I was having the same problem, I wasn't specifying 'amount'.


shaders arent working

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[X] I did not answer truthfully to all the above checkboxes.

Bloxstrap Version
v2.8.0
What problem did you encounter?
[BUG] i used to have such gorgues shadows and darker colors but recently it doesnt work anymore. I havent done anything, have the same settings, and use the roblox bloxtrap comes with. can someone help me?
Bloxstrap Log
N/A

We don't provide the ability to use shaders. You're in the wrong place.


feat(tcp): add support for TLS/SSL in TCP

closes #342

[x] TCP/TLS client support
[ ] TCP/TLS server support

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

16 of 330 (4.85%)  changed or added relevant lines in 10 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-6.7%) to 92.293%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Psl/TCP/TLS/SecurityLevel.php
0
1
0.0%

src/Psl/TCP/TLS/Version.php
0
1
0.0%

src/Psl/TCP/TLS/Certificate.php
0
2
0.0%

src/Psl/TCP/ConnectOptions.php
2
6
33.33%

src/Psl/TCP/TLS/HashingAlgorithm.php
0
5
0.0%

src/Psl/TCP/connect.php
7
86
8.14%

src/Psl/TCP/TLS/ConnectOptions.php
0
222
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-6.7%

Covered Lines:
4263

Relevant Lines:
4619

💛  - Coveralls


[ISSUE] Incorrect info in docs

It's no longer true.

Also no longer true

Done in 09f8e187d6e313e0262b61a8b501a63de42e4bc2


Allow to get_admin_display_title() return SafeString

It's almost working until there are quotations mark inside ;-). Which is possible to handle easy.
But there are special cases where it doesn't work at all.
For example wagtail.admin.views.pages.edit.EditView.add_save_confirmation_message() method:
    def add_save_confirmation_message(self):
        if self.is_reverting:
            message = _(
                "Page '{0}' has been replaced with version from {1}."
            ).format(
                self.page.get_admin_display_title(),
                self.previous_revision.created_at.strftime("%d %b %Y %H:%M")
            )
        else:
            message = _(
                "Page '{0}' has been updated."
            ).format(
                self.page.get_admin_display_title()
            )

        messages.success(self.request, message)

should by:
    def add_save_confirmation_message(self):
        if self.is_reverting:
            message = format_html(_(
                "Page '{}' has been replaced with version from {}."
            ), self.page.get_admin_display_title(),
                self.previous_revision.created_at.strftime("%d %b %Y %H:%M")
            )
        else:
            message = format_html(_(
                "Page '{}' has been updated."
            ), self.page.get_admin_display_title()
            )

        messages.success(self.request, message)

I can't see us ever wanting to support this formally - there are too many possible edge cases (including the title in plaintext emails, JSON, passing it to Javascript...) for us to guarantee that it will work reliably. Additionally, in the fairly near future we're considering making the admin display title an explicit database field (so that it's always available without having to fetch the specific model), which will break this behaviour entirely.


Set higher memory for OTel-agent build and go-mod-tidy

What does this PR do?
Set the otel-agent and go-mod-tidy memory limits to be 8Gb. The default is only 6Gb.
Motivation
Jobs are currently failing with OOM:

https://github.com/DataDog/datadog-agent/pull/25402
https://gitlab.ddbuild.io/DataDog/datadog-agent/-/jobs/511482231
https://gitlab.ddbuild.io/DataDog/datadog-agent/-/jobs/511482202

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

This changed has been made part of https://github.com/DataDog/datadog-agent/pull/25402 instead, closing this PR.


Fix init center #34

Elements aren't being centered correctly because scene.appState isn't taking into account width and height props when passed.

I was trying to figure out what's going on with the commit tree, and oh, we're in excalidraw/excalidraw-embed :smile:. This repo is super old. We're gonna release a new npm package from excalidraw/excalidraw sometime next week.
That said I think the centering issue is present even there, at least in some form.
Anyway, we can merge this. Someone else will have to release it, though. /cc @ad1992
If you're willing, you can also investigate if the issue is present in excalidraw/excalidraw and make the fix there as well, otherwise when we release the new package the issue will resurface.

version0.6.2 has been released with this fix.


Dependency graph

This work is a prerequisite to #171 and #237. It adds a dependency graph that can represent an arbitrary DAG (cycles are prevented when the graph is being built) and can return its nodes sorted topologically. Additionally, it keeps track of groups of nodes at the same "level" of the graph (i.e. nodes that have no interdependencies) and can return these groups in topological sort order as well. I plan to use this to build an execution plan for starting and stopping components such that everything that can start in parallel does start in parallel.

I didn't look too carefully at the code, since it's totally isolated from the rest of the code & therefore low risk. The general need for layered topo sort makes sense to me. Though I'm curious more about the designs for #171 and #237.
My assumption is that the apply implementation will manually build a dependency graph of tasks to perform, toposort that, then execute the layers in parallel. I don't quite yet know how we'd build the dependency graph in an extensible way, but we can probably just violate encapsulation of the component specs for now, since we have a pretty limited set of supported types. Curious what you've got in mind.

@brandonbloom My plan is to build the graph in Workspace.Apply() then translate that to an "execution plan" of tasks (which will require parallel and sequential task combinators that I'll create next). The concept of dependencies between components seems pretty fundamental to a component, so I was planning to lift it to the ComponentDescription. Since we will not have IDs for the components until they are created, I am debating whether to pull ID generation up into Apply() or to require that components be uniquely identified by name and type and referencing dependencies that way.
Also, I know that we will eventually have the need to express abstract dependencies like "component 123 depends on some postgres database", but that is not the problem that I am solving here. This is solely intended to be used to resolve concrete dependencies, and it could be used as a building block for resolving abstract dependencies.

Gotcha. I say we extract the ID allocation out of the core of the create codepath & move it into "apply". Seems the simplest approach for now.


Sort the result

It would be nice, if the result is sorted. I've modified the code to sort it descending, to get a better view on the top used domains.
If you change
$Script:FederatedDomains | ConvertTo-Html
to
$Script:FederatedDomains | Sort-Object -Property count -Descending | ConvertTo-Html
Results are sorted from biggest to smallest.

Thanks for the feedback. I'll throw it in with the next version

Resolved in 1.1


Wrong checking for overloading method parameters

I have function event:
/**@flow*/

export function event(type:RegExp|(()=>string)|string, ...handlers:Array<(state:any, event:{type:string})=>any>):(state:any, event:{type:string})=>any {
  if (type instanceof RegExp) {
    return (state, event) => type.test(event.type)
      ? handlers.reduce((newState, handler) => handler(newState, event), state)
      : state
  } else if (typeof type == 'function') {
    return (state, event) => type(state, event)
      ? handlers.reduce((newState, handler) => handler(newState, event), state)
      : state
  } else {
    return (state, event) => event.type === type
      ? handlers.reduce((newState, handler) => handler(newState, event), state)
      : state
  }
}

I have all checkings for RegExp and Function, but flow generate me following errors:
src/event.js:5
  5:     return (state, event) => type.test(event.type)
                                       ^^^^ property `test`. Property not found in
  5:     return (state, event) => type.test(event.type)
                                  ^^^^ String
src/event.js:9
  9:     return (state, event) => type(state, event)
                                  ^^^^^^^^^^^^^^^^^^ function call. Callable signature not found in
  9:     return (state, event) => type(state, event)
                                  ^^^^ RegExp
src/event.js:9
  9:     return (state, event) => type(state, event)
                                  ^^^^^^^^^^^^^^^^^^ function call. Function cannot be called on
  9:     return (state, event) => type(state, event)
                                  ^^^^ string

I'm not sure of reason why checking is ignored

Function parameters are not constant by default. Flow is throwing errors to protect you against something like:
function myFun(x: number | string, ...handlers: Array<Function>) {
  return handlers.reduce((n, fn) => {
    x = 42; // Changing `x` in reduce would be a problem!
    return fn(n);
  }, 0);
}

You can fix this by assigning type to a constant:
export function event(
  _type: RegExp | (() => string) | string,
  ...handlers: Array<(state: any, event: {type:string})=> any>
):(state:any, event:{type:string})=>any {
  const type = _type;
  if (type instanceof RegExp) {
    return (state, event) => type.test(event.type)
      ? handlers.reduce((newState, handler) => handler(newState, event), state)
      : state
  } else if (typeof type == 'function') {
    return (state, event) => type(state, event)
      ? handlers.reduce((newState, handler) => handler(newState, event), state)
      : state
  } else {
    return (state, event) => event.type === type
      ? handlers.reduce((newState, handler) => handler(newState, event), state)
      : state
  }
}

https://flow.org/try/#0KYDwDg9gTgLgBAMwK4DsDGMCWEV2AN2BRgAoAoOOAfRgE8xgAuOAJWAHMBRcOAHzhIkAlHAC8APjgBnGFEwp2I-jLkKANBTgA6HQAsAhigAmAG2BQpzAIJQo+2gB4SM-TCZxDtNXkLFmAbzoGRhV5dgBfIQkPFFpxMiFGZxhXJk9vAiIYRkD6JlCFSIlPOH9NNBwZOCDgMWoagG5NTAQBGrh5F3RgCFa2LnARMspKKGAYJChcZNSM3xgRaJqtNxkSTOIVvKFNEbgAfjgDYzMLLTGjJDRgQRRgAHcAZRS3b2PTc0XJd9OSO6eXsA5lkhN4XG4dntKMxwcBNOE8CYpLUWm08r1qnkxKI4AByZDoLA4XFDXZwMYTKYCWHA4hfTEMGavHwgsmUQ4-cxSc7AS7XW4PZ6zI6GD5QemcqB-QWA2kLMGAyFQmGA+GI5GlMkUybTGksuliSQbGBbBjYnE1NkHEUnLk8vk3aUA4WSiWi37-IXM42g6SKq0q1LwsjhMhAA


Connection Pool

Bolt obtains a file lock on the data file so multiple processes cannot open the same database at the same time. Opening an already open Bolt database will cause it to hang until the other process closes it.
As this is the case,is there any connection pooling concept like various clients connecting and accessing the database at the same time.? Is this possible in boltdb?

Bolt is meant to exist at a lower level than network protocols. LMDB provides multi-process database access but at the cost of additional complexity. What's your use case?

There are various unique id and all are bidding a amount at a rate of milliseconds and i have to store it and update their current spend(spend till that particular time) as soon as possible.
The schema i am using is like -making a bucket for every unique id and storing the time as the key and value as the bid.
and then making a common bucket for all unique and updating their current spend in that
where key=unique id and value = latest current spend .
So how can i update the common bucket as fast as possible .
all the buckets are in the same database.

You should be able to get that kind of performance if you use bolt.DB.Batch(). It would all need to run through a single process though.


[FEATURE REQUEST] glib: Add functions to get glib version

Provide equivalents of:

GLIB_MAJOR_VERSION
GLIB_MINOR_VERSION
GLIB_MICRO_VERSION

This could be helpful, for example, to print a debug message if glib_check_version fails.

This needs to be added to glib/sys/src/manual.rs then. Special care is needed to avoid re-opening https://github.com/gtk-rs/gtk-rs-core/pull/1508
@eerii can you confirm (and write down how to check) if these variables are OK and don't suffer from the same problem?

GLIB_VAR const guint glib_major_version;
GLIB_VAR const guint glib_minor_version;
GLIB_VAR const guint glib_micro_version;
GLIB_VAR const guint glib_interface_age;
GLIB_VAR const guint glib_binary_age;

from glib/gversion.h FWIW

For comparison, the bad one is
GOBJECT_VAR GType *g_param_spec_types;

I think these should be fine since they are constants, g_param_spec_types being a static pointer was the problematic bit.
The version constants are already in glib/sys/Gir.toml, but they are marked as ignored. I tried removing them from this list and regenerating the bindings, and it seems to generate fine c:
// glib/sys/src/lib.rs
pub const GLIB_MAJOR_VERSION: c_int = 2;
pub const GLIB_MICRO_VERSION: c_int = 0;
pub const GLIB_MINOR_VERSION: c_int = 83;

For future reference, the issue comes from Windows not including the unprefixed version of exported variables (they do so for functions), and Rust only being able to pick up the prefixed version if the #[link] attribute with an explicit library name is added to the extern block of the bindings.
To check this, you can compile or download the glib dll from the archive (in this case, it is in lib/libglib-2.0.dll.a), and use dumpbin.exe /EXPORTS <dll> on Windows or winedump -j export <dll> on Linux to see the symbol names that are exported.

Ok, so we can't provide access to these variables then because GLib is exporting them wrongly.

I don't think it really an issue with GLib exporting them wrongly. It is more a combination of the Windows compiler deciding that variables should be explicitly imported with __dllimport but not requiring it for functions, and that Rust currently has the limitation of only generating these symbols for blocks annotated with #[link], while not providing as much flexibility with it as with command line linking. So excluding using workarounds or proposing alternatives in Rust there's not much more we can do at the moment.


raidboss: fix DRS broken avowed timeline jump

@Legends0 I think this is the cause of the missing Glory of Bozja timeline trigger calls.


Installation is failing, any idea?

OSX when i do following its showing ERR, any advise? is there no BASH file to do all those automagically?
`$ sudo npm install -g cordova ios-deploy
npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "cordova" "ios-deploy"
npm ERR! node v5.10.1
npm ERR! npm  v3.8.3
npm ERR! path /usr/local/lib/node_modules/ios-deploy/build/Release/ios-deploy
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall chmod
npm ERR! enoent ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/ios-deploy/build/Release/ios-deploy'
npm ERR! enoent ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/ios-deploy/build/Release/ios-deploy'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! Please include the following file with any support request:
npm ERR!     /Users/sun/npm-debug.log
`

Solved


Line Chart - Uncaught TypeError: Cannot read property 'min' of undefined

For some reason, when trying to use even the most basic line chart example as provided in the docs, I am getting the error Uncaught TypeError: Cannot read property 'min' of undefined
Am I doing something wrong or is this a bug? I am using the 2.x beta from cdnjs
Jsbin: http://jsbin.com/hemiqaqaku/edit?html,js,console,output

@alancwoo looks like an error in the sample in the docs. Removing yAxisID: "y-axis-1" from the config makes it work. If you are planning to use v2, I highly recommend using v2.0.0-beta2 or the latest from the v2.0-dev branch. It is effectively at release status.

Fixed documentation in #2132
Website will be updated once new site is ready.

@etimberg Thank you, you are correct - all works now. The same error was trigged in v2.0.0-beta2 or at least in the bleeding dev branch as far as I know, which is why I reverted to the cdnjs version. All good now though.


LibreOffice is missing

LibreOffice (LibreOffice https://www.libreoffice.org/ is a free and powerful office suite) is missing in the list.
LibreOffice uses native GTK3 widgets on Linux. GTK4 is in the works, but not yet there (https://wiki.documentfoundation.org/Development/GTK4). Internally, LibreOffice uses Visual Class Library (VCL), but it fully uses GTK3 for the UI.
P.S.: I've read issue 85 regarding Mozilla apps, but I think that LibreOffice is different, as it uses GTK3 native widgets.

Closed with #210.


Error testing credentials: Login error_code=-5003

TP-Link Deco HA Error LOG .txt
Error:
Unexpected error fetching tplink_deco-decos data: Login error_code=-5003
Login error_code=-5003, data={'result': {'failureCount': 10, 'attemptsAllowed': 0}, 'error_code': -5003}
Main deco mode: M5(1.0)
Firmware: 1.6.1 Build 20220818 Rel. 36456
Tried:
Direct browser access to <IP_ADDRESS> with no username (asume this is admin) and my deco password.
This succeeds with no problems.
Test with both Enable and Disable SSL, same result.

Guess what, this morning I tried connecting to one of my M4's instead if the MAIN M5 and it worked but no entities.
Switched the IP in my configuration to the main and now all is great!

There doesn't seem to be clear documentation on error code -5003. But glad that worked out for you.

In case someone else comes across this, I was getting exactly the same error on my X20s. Simply restarting the Decos immediately solved the issue for me.


Correct answer but still can't pass

Challenge Manipulating Complex Objects has an issue.
User Agent is: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

var myMusic = [
  {
    "artist": "Billy Joel",
    "title": "Piano Man",
    "release_year": 1973,
    "formats": [
      "CS",
      "8T",
      "LP" ],
    "gold": true
  },
   {
       "artist": "The 1975",
       "title": "Robbers",
       "release_year": 1975,
       "formats": [
          "CD",
          "Cassette",
          "LP"
        ]
      }

    ];// Add record here
];

Unfortunately your code is not correct; you have a syntax error (an extra ]; at the end). Notice the red circle with an X inside next to the line number for line 25, which signifies this error.
Remember to use the Help chat when you're stuck writing code, before raising an issue.
Happy coding!


Improve usability by adding short names for specials

Codecov Report

Merging #989 into master will decrease coverage by 0.85%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master     #989      +/-   ##
==========================================
- Coverage     100%   99.14%   -0.86%
==========================================
  Files          17       17
  Lines         695      704       +9
==========================================
+ Hits          695      698       +3
- Misses          0        6       +6

Impacted Files
Coverage Δ

cookiecutter/cli.py
89.65% <33.33%> (-10.35%)
: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 ee124c6...2c51dcb. Read the comment docs.

This is unnecessary as I discovered the config file https://cookiecutter.readthedocs.io/en/latest/advanced/user_config.html
Closing.


Bottlerocket AMI nodes getting provisioned but not joining the cluster

Version

Karpenter Version: v0.28.0-rc.2

Kubernetes Version: v1.26.0 (EKS)
Expected Behavior
I have followed the getting started guide and gotten karpenter installed on my EKS cluster. I see in the karpenter logs that the machine is getting created and can also see it on the EC2 dashboard. Even though the instance is running it never joins the cluster and Karpenter eventually deletes it
On the same EKS cluster I have a working node through a managed node group. I used the same security group and instance profile from the IAM role attached to working node.
I am able to connect to the managed nodegroup node via SSM Manager, but not to  karpenter provisioned node. At this point I am not sure what to look at next
FYI:

I have updated the auth-map entry for the  IAM Node Role as documented in the upgrade guide
I have tried all the cluster security groups one at a time (aws eks describe-cluster --name eks-pubweb-dev-use1 --query "cluster.resourcesVpcConfig.clusterSecurityGroupId" and security group from working node through a managed node group

Any help is appreciated.
Actual Behavior
Nodes do not join the cluster and are eventually deleted by karpenter
Nodes are running but cannot connect to it via SSM Manager
Steps to Reproduce the Problem
install karpenter  follow instructions from https://karpenter.sh/v0.27.5/getting-started/migrating-from-cas/
scale replicas for one of the deployments
Resource Specs and Logs
karpenter controller logs:
2023-06-07T05:45:21.820Z        DEBUG   controller.machine_lifecycle    created launch template {"commit": "209b7ca", "machine": "provisioner-isoexpress-eks-pubweb-dev-use1-tqbwc", "provisioner": "provisioner-isoexpress-eks-pubweb-dev-use1", "launch-template-name": "karpenter.k8s.aws/17678856398388830420", "id": "lt-0dc8b82148eff1084"}
2023-06-07T05:45:21.969Z        DEBUG   controller.deprovisioning       waiting on cluster sync {"commit": "209b7ca"}
2023-06-07T05:45:22.970Z        DEBUG   controller.deprovisioning       waiting on cluster sync {"commit": "209b7ca"}
2023-06-07T05:45:23.729Z        INFO    controller.machine_lifecycle    launched machine        {"commit": "209b7ca", "machine": "provisioner-isoexpress-eks-pubweb-dev-use1-tqbwc", "provisioner": "provisioner-isoexpress-eks-pubweb-dev-use1", "provider-id": "aws:///us-east-1b/i-0769192773f01fa1f", "instance-type": "m6i.xlarge", "zone": "us-east-1b", "capacity-type": "on-demand", "allocatable": {"cpu":"3920m","ephemeral-storage":"17Gi","memory":"14162Mi","pods":"58"}}
2023-06-07T05:48:48.951Z        DEBUG   controller      deleted launch template {"commit": "209b7ca", "id": "lt-0dc8b82148eff1084", "name": "karpenter.k8s.aws/17678856398388830420"}
2023-06-07T06:00:24.770Z        DEBUG   controller.machine_lifecycle    terminating machine due to registration ttl     {"commit": "209b7ca", "machine": "provisioner-isoexpress-eks-pubweb-dev-use1-tqbwc", "provisioner": "provisioner-isoexpress-eks-pubweb-dev-use1", "ttl": "15m0s"}
2023-06-07T06:00:25.104Z        INFO    controller.machine_termination  deleted machine {"commit": "209b7ca", "machine": "provisioner-isoexpress-eks-pubweb-dev-use1-tqbwc", "node": "", "provisioner": "provisioner-isoexpress-eks-pubweb-dev-use1", "provider-id": "aws:///us-east-1b/i-0769192773f01fa1f"}
provisioner and nodetemplate yaml

apiVersion: karpenter.sh/v1alpha5
kind: Provisioner
metadata:
name: provisioner-isoexpress-eks-pubweb-dev-use1
spec:
requirements:
- key: node
operator: Exists
- key: node.kubernetes.io/instance-type
operator: In
values: ["m6i.large", "m6i.xlarge", "m6i.2xlarge", "m6i.4xlarge"]
- key: kubernetes.io/arch
operator: In
values: ["amd64"]
labels:
node:  isoexpress
limits:
resources:
cpu: "8"
memory: 64Gi
#ttlSecondsAfterEmpty: 600
ttlSecondsUntilExpired: 2592000 # 30 Days = 60 * 60 * 24 * 30 Seconds;
providerRef:
name: provider-eks-pubweb-dev-use1
apiVersion: karpenter.k8s.aws/v1alpha1
kind: AWSNodeTemplate
metadata:
name: provider-eks-pubweb-dev-use1
spec:
amiFamily: Custom
amiSelector:
aws-ids: "ami-0884e2250b34223b1, ami-065c2209850049e3f"
subnetSelector:
karpenter.sh/discovery: "eks-pubweb-dev-use1"
#aws-ids: "subnet-0cfbc068120a5e06e, subnet-060cca84bcd82f8de"
securityGroupSelector:
#karpenter.sh/discovery: "eks-pubweb-dev-use1"
#aws-ids: "sg-0a0abe6eda07fbe70"
aws-ids: "sg-00af836d015e1aaed"
#instanceProfile:  "eks-pubweb-dev-karpenter-instance-profile" # To get the instanceProfileName us 'aws iam list-instance-profiles-for-role --role-name=iam-role-eks-nodegroup-pubweb-dev-dev-websvcs-az1-use1'
instanceProfile: "eks-7ac4369f-6db6-4c6c-8df6-83783e8ffce0"
blockDeviceMappings:
- deviceName: /dev/xvda
ebs:
volumeType: gp3
volumeSize: 32Gi
deleteOnTermination: true
- deviceName: /dev/xvdb
ebs:
volumeType: gp3
volumeSize: 20Gi
deleteOnTermination: true
Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Figured out the issue.  I set the amiFamily as Custom. Changed it to Bottlerocket and it worked like a charm!


Figure out how to deploy protobuf files for gRPC services

Here are a couple resources with ideas (from SO):
https://medium.com/namely-labs/how-we-build-grpc-services-at-namely-52a3ae9e7c35
https://www.bugsnag.com/blog/libraries-for-grpc-services
I've created a new repo where Stargate protobuf files will live:
https://github.com/stargate/stargate-grpc-proto
There seem like there are two approaches that we can take:

We build libraries for different languages in the stargate-grpc-proto repo and distribute those artifacts. Our official clients (stargate-grpc-go-client, stargate-grpc-java-client) would pull those artifacts. We could add more languages as the community requests them.
The official and community clients build the proto libraries by using a subtree/submodule (or downloading) the protobuf files from the repo.

Note: We could also do a hybrid model where we build artifacts in the protobuf repo for official clients and community clients build the stubs themselves.

Won't do. Proto files live in main stargate repo.


Adds support for serialisation via webworkers etc

The Math object can not be serialised, because it is a native object.
However, a reference can be serialised in the function implementation
string, with Math resolving by reference in the worker.

I can't make sense of the change here. Why would you want to serialize the whole Voronoi object? You have a concrete scenario?

See the spread layout in Cytoscape.js : https://github.com/cytoscape/cytoscape.js/blob/unstable/src/extensions/layout.spread.js
It uses Voronoi serialised to a webworker to offload the layout calculations, while the main thread remains free for rendering.

It uses Voronoi serialised to a webworker to offload the layout calculations, while the main thread remains free for rendering

I understand the calculations being done in a webworker, but I don't see the point of serializing the Voronoi object itself. Why not just import rhill-voronoi-core.js in the webworker, and serialize the input/output data only?

(1) The client may want to minify and concat libraries like Voronoi, precluding importScripts().
(2) Cytoscape.js supports multitasking on Node.js/io.js and browsers.  Webworkers are OK for browsers but not for Node.js.  So, using importScripts() is not a general solution.
For (2): I suppose I could use some combination of importScripts() and require(), but that would be less reliable than serialisation -- as other dependencies don't support CommonJS require() or npm packages.  Actually, this approach would not be very practical overall simply because importScripts() would require the client to put dependencies in a specific location determined by Cytoscape.js instead of where they would like (or it would need yet another require/config step at least).  It also becomes an issue in the case of AMD/require.js support, as less libs support that than CommonJS.
In any case, serialisation would greatly simplify things.

I think it's best if you just create your own flavor of rhill-voronoi-code.js. I went far to try to avoid as much overhead as possible, so I can't just introduce a new overhead for such one very specific usage.

I understand the justification -- performance is a high priority.  However, jsperf shows that wrapping adds little or no overhead compared to the cost of doing calculations like sqrt or abs themselves.

I'd greatly appreciate it if you would reconsider the PR given this data.

I really think you need to fork and keep your custom copy that will work for sure with your project.
Thing is, I wrote this code years ago, and if I wanted to re-factor using the experience I have gained since then, I would write it very differently[1]. So there is just no guarantee that if I make it suitable for serialization now that it would still be the case in a future version. So given this forking to your own private version is best.
[1] for example, I would now ensure that all implementation details which are of no interests to the outside world would be hidden from view.

For what it's worth whenever I post some code on GitHub, I assume that everyone IS interested in implementation details... especially those following any project I might have.  I personally love to read about those sort of details.

everyone IS interested in implementation details

I meant javascript scope-wise.


Multi-network gas estimates

Changes proposed in this pull request:

Add a GasPriceService which handles gas prices for multiple networks
Remove old gas price utility function

@evgenyboxer I'm going to merge this so that it gets tested today and over the weekend. But it would be good if you could have a scan at some point just to make sure you're ok with these changes since you implemented the original function.


 See lesson listeners.

Next lesson computed before current passed.

Fixed with nullability check.


Token Expired

Hey there!
Does this automatically get new tokens?

I am getting this message:

If I try to use any of the methods from the lib like these:

I get this:

I've always struggled with refresh tokens myself so I'm not sure what to try next

Something like would do it
 // force refresh the token every 10 minutes
  useEffect(() => {
    const handle = setInterval(async () => {
      const user = firebaseClient.auth().currentUser;
      if (user) await user.getIdToken(true);
    }, 10 * 60 * 1000);

    // clean up setInterval
    return () => clearInterval(handle);
  }, []);

This happened when refreshing the page after putting the computer to sleep with localhost/emulators open so it wouldn't have had the chance to do that setInterval()
Would be interested in an isomorphic solution - one that would work on both client and server

Looks like using that force refresh you just suggested @atanaskanchev  in a condition inside of the auth-provider from the examples does the trick?

Update:
That doesn't really work - get a jwt issued at future error on first refresh after it expires later

Hey @seanaguinaga! Thanks for the question.
getTokens and getTokensFromObject functions should refresh expired token automatically.
I have a few questions regarding provided example:

What library do you use to decode the token in src/relay/environment.ts? Does it work if you decode the token using decode function from this library file: https://github.com/ensite-in/next-firebase-auth-edge/blob/9856d979cb14dbd7583e96752baec99120321553/src/auth/jwt/decode.ts ?

What is your use case? What do you want to achieve by decoding this token?

getTokens resolves with token and decodedToken. token's primary function is to authorize API requests. decodedToken is a decoded version of the token, so there is no need to decode it explicitly.

Could you log out a token and paste it here? I'll try to test it against a JWT library to figure out the reason you're getting the error. Please only paste a token that's invalid, comes from testing environment and does not contain any vulnerable data :-)

expo-jwt is the library I am using
If I send a token from in memory/from getTokens I want to make sure it is not expired before sending it in the Auth header to my server
the decodeToken from expo-jwt fails if it is expired so I just us that to then tell it to try and get a new updated token as opposed to the request failing
the getTokens() function was never refreshing the expired token when using the emulator from what I saw, so I tried to get that functionality by manually getting a refreshed token with the utils that are in your library, but then those did weird stuff with that kid error
Just trying to make sure that my token is always valid and not expired when using it in my relay fetch-function which could run on server or client.
I can send the expired token when it happens again!

I also use expo-jwt to allow emulator tokens to be signed/decoding so that custom claims work with hasura - otherwise with alg "none" custom claims on the jwt are ignored so I couldn't test permissions locally

@seanaguinaga 👋
Here's the PR that should fix the issue. https://github.com/ensite-in/next-firebase-auth-edge/pull/18
I was skipping entire token verification on Firebase Emulator environment, whereas official firebase-admin library skips only the signature check. I adjusted the code to work the same.
You can test it by installing<EMAIL_ADDRESS>:-) Let me know if it works for you

Looks like it is still expired?
eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJuYW1lIjoiU2VhbiBBZ3VpbmFnYSIsInBpY3R1cmUiOiIiLCJodHRwczovL2hhc3VyYS5pby9qd3QvY2xhaW1zIjp7IngtaGFzdXJhLWRlZmF1bHQtcm9sZSI6InVzZXIiLCJ4LWhhc3VyYS1hbGxvd2VkLXJvbGVzIjpbInVzZXIiLCJpbnRlcm5hbCJdLCJ4LWhhc3VyYS11c2VyLWlkIjoiMzc3Zjc3MDUtOTc3Yi00MTUwLTk5MWItNjVlMjE1ZmJkM2E0IiwieC1oYXN1cmEtZmlyZWJhc2UtdWlkIjoidlFIdG9sVVlTVldXbnY1NEN3NEhjenQwV3VSVSJ9LCJlbWFpbCI6InNlYW4uYWd1aW5hZ2FAcm91bmQudGVjaCIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiYXV0aF90aW1lIjoxNjczMzczNzgyLCJ1c2VyX2lkIjoidlFIdG9sVVlTVldXbnY1NEN3NEhjenQwV3VSVSIsImZpcmViYXNlIjp7ImlkZW50aXRpZXMiOnsiZW1haWwiOlsic2Vhbi5hZ3VpbmFnYUByb3VuZC50ZWNoIl19LCJzaWduX2luX3Byb3ZpZGVyIjoiY3VzdG9tIn0sImlhdCI6MTY3MzM3Mzc4MiwiZXhwIjoxNjczMzc3MzgyLCJhdWQiOiJyb3VuZC1wb3J0YWwtZGV2IiwiaXNzIjoiaHR0cHM6Ly9zZWN1cmV0b2tlbi5nb29nbGUuY29tL3JvdW5kLXBvcnRhbC1kZXYiLCJzdWIiOiJ2UUh0b2xVWVNWV1dudjU0Q3c0SGN6dDBXdVJVIn0.
logged from:

It is 12:18PT now

Wait... Didn't update deps in this repo... standby 🤦♂

Seems to work! But occasionally I am getting this from my endpoint upon refresh:

issued at future?

@seanaguinaga

The custom token is setting iat (issued at) value correctly. What you are experiencing is a clock synchronization issue between your machine and the server: https://github.com/hasura/graphql-engine/issues/1912
Some JWT validation libraries allow time skew setting to set the tolerated time difference between servers.
If you're a Mac user, this might help: https://github.com/hasura/graphql-engine/issues/1912#issuecomment-1279849697

Got it, and thank you! I'd say it's resolved and refreshing properly when using the emulator regardless
What's funny is that I am running hasura in a docker container on my Mac with the firebase auth emulator so it's weird to think there would be a time issue on the same machine but there is somehow 😂

I can think of a test where you restart Hasura container and look for Errors. If there are no errors at the start of the process, but they start to occur after some time of VM being suspended, it could mean that the VM get's out of sync.
Supposably the error does not happen when using Docker without Docker Desktop, but I haven't tested that :-)

I am closing the issue.
Please let me know if you have some findings regarding the JWTIssuedAtFuture error.
BTW. I see that you can configure Hasura in Docker to compensate for clock sync issues: https://github.com/supertokens/supertokens-core/issues/467 :-)


pod_infra's image is not using a schema2 manifest

BUG REPORT
Environment: any environment using a Docker client/proxy/cache only supporting v2 registries
Kubespray version: cf8e9ee including changes to pull from private Docker registries
Command used to invoke ansible:
ansible-playbook -i inventory/stock/host.ini cluster.yml --become -v --flush-cache
Output of ansible run:
(pretty printed)
{
	"attempts": 4,
	"changed": true,
	"cmd": ["/usr/bin/docker", "pull", "some.docker.registry.proxy/google_containers/pause-amd64:3.0"],
	"delta": "0:00:01.164416",
	"end": "2018-06-11 17:55:48.966865",
	"msg": "non-zero return code",
	"rc": 1,
	"start": "2018-06-11 17:55:47.802449",
	"stderr": "Error: Status 400 trying to pull repository google_containers/pause-amd64: \"{\\n  \\\"errors\\\" : [ {\\n    \\\"status\\\" : 400,\\n    \\\"message\\\" : \\\"Unsupported docker v1 repository request for 'docker'\\\"\\n  } ]\\n}\"",
	"stderr_lines": ["Error: Status 400 trying to pull repository google_containers/pause-amd64: \"{\\n  \\\"errors\\\" : [ {\\n    \\\"status\\\" : 400,\\n    \\\"message\\\" : \\\"Unsupported docker v1 repository request for 'docker'\\\"\\n  } ]\\n}\""],
	"stdout": "Pulling repository some.docker.registry.proxy/google_containers/pause-amd64",
	"stdout_lines": ["Pulling repository some.docker.registry.proxy/google_containers/pause-amd64"]
}

Specifically the stderr is "Error: Status 400 trying to pull repository google_containers/pause-amd64: \"{\\n  \\\"errors\\\" : [ {\\n    \\\"status\\\" : 400,\\n    \\\"message\\\" : \\\"Unsupported docker v1 repository request for 'docker'\\\"\\n  } ]\\n}\"",
Anything else do we need to know:
We forked a copy of Kubespray to stand up a Kubernetes cluster internally. However, we've seen issues during builds where images off of gcr.io were intermittently unavailable at times. These would come and go, similar to issues like https://github.com/kubernetes-incubator/kubespray/issues/2264
To avoid these issues, we decided to use a private Docker registry as a caching proxy for these images. This just involved a quick find and replace for all gcr.io and quay.io with our private registry. After running a build, it failed because the host couldn't pull google_containers/pause-amd64:3.0. After some googling, we found this issue https://github.com/kubernetes/kubernetes/issues/56253 describing similar issues. Their solution was to push up a schema v2 compatible image at version 3.1, so bumping the pod_infra's image to that got our builds working great!
I'll submit a PR with these changes if you'd like.

Fixed in #3246 . Closing.


Pigpio serial data writer

This is almost just what I am looking for. However, the data I want my Ros2_controller to send the Raspi is a data integer to a serial com pin. This is to drive the Sabertooth motor controller, a powerful and reliable controller.
I almost have it working but Ros2_control doesn't like working with the Pigpio library. Have you done such a thing before with the Pigpio library?
Thanks,
Russ

I'm using Raspi 4 with 2 gig memory and Ubuntu 22.04 server and Ros2 Humble.

Thank you for using my repository.
Unfortunately, I have not use any Sabertooth motor controlling modules.
I estimate that your system is like the following diagram
graph LR

subgraph raspi

subgraph ros2
  ros2_controller-->|topic|ros2_pigpio
end
ros2_pigpio-->|request|pigpiod
end

pigpiod-->|signal|sabertooth[sabertooth module]
sabertooth-->|signal|motor

Your problem probably has relationship between ros_communication, pigpio_communitation, electric_signal for the sabertooth module, and electric circuit.
Sorry, I cannot identify the causes of your problem. I recommend you check each factor step by step. For example, driving motor without this repository and ROS2 but using pure pigpio.

Thanks for the quick answer. Ros2 control is faster than topics, almost real-time. I will continue to work with it, and may get it mastered. Ros2 control allows more close integration with robot commands and movement. My Raspi Python modules were adequate for mapping (manual robot control) but not for the robot driving itself. Its movement was erratic.


TypeError: t.get is not a function

Describe the bug
I converted by "body" element type from "markdown" to "code" and made no other changes.
I switched back from code to markdown and it fixed.
My body is written in html which is awkward using the markdown editor
To Reproduce
convert a widget from markdown to code
Expected behavior
I should see the html / code editor
Screenshots
Applicable Versions:

Netlify CMS version<EMAIL_ADDRESS>Git provider: git-gateway
Browser version: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36

CMS configuration
publish_mode: simple
slug:
  encoding: unicode
  clean_accents: false
  sanitize_replacement: "-"
backend:
  name: git-gateway
  branch: master
media_folder: assets
collections:
  - sortable_fields:
      - commit_date
      - title
      - date
      - commit_author
      - description
    view_filters: []
    meta: {}
    delete: false
    name: post
    slug: "{{year}}-{{month}}-{{day}}-{{slug}}"
    folder: _posts
    publish: true
    label: Post
    fields:
      - label: layout
        name: layout
        widget: hidden
        default: post
      - label: Title
        name: title
        widget: string
      - label: Description
        name: description
        widget: string
        required: false
      - label: Publish Date
        name: date
        widget: date
        default: "{{year}}-{{month}}-{{day}}"
      - label: type
        name: type
        widget: hidden
        default: post
      - label: published
        name: published
        widget: hidden
        default: "true"
      - label: status
        name: status
        widget: hidden
        default: publish
      - label: Upload Image
        name: thumbnail
        widget: image
      - label: Categories
        name: categories
        widget: list
        allow_add: true
      - label: Tags
        name: tags
        widget: list
        allow_add: true
      - label: Body
        name: body
        widget: code
    create: true
    sort: date:asc
    extension: html
public_folder: /assets

Additional context

Probably related to https://github.com/netlify/netlify-cms/issues/3524

When creating a NEW post there is no react error on page load.
Filling out a post shows on error on save which says this:

I have the exact same error spinning up a new site with jekyll, can't use code widget at all.


Amazon ?

Can you add amazon laso for de, co.uk, com etc.

Can you add amazon laso for de, co.uk, com etc.

It's on the board 👍🏾  now #58


Extend &pattern to general Deref implementation.

For example, suppose X derefs, then &pat takes X and dereferences it. If the dereferenced value matches pattern pat, it matches.
In other words, it extends &pattern from only allowing dereferencing of &T to allowing dereferencing of arbitrary T: Deref.
Alternative is of course to introduce a seperate syntax for it.

Use case or motivating example?
Aside from let &x = Box::new(3); I'm having a hard time picturing when it would even be possible to use this;  Most deref coercions I see in daily use have unsized target types, making them ineligible for this.

@ExpHP just today, I had the case where I had a RAII type derefing to an enum, which I wanted to match against. The code I ended up with was a clusterfuck, because I needed to add another ident for matching against the enum, which is really annoying. If I could just however use & it would mean, that I could just use one big match, which is significantly simpler and nicer.

Is this the same as box patterns, in the case of Box<T>? https://github.com/rust-lang/rust/issues/29641
This would make pattern matching be able to run arbitrary code, which wasn’t the case before. (For example, struct matching is structural and does not use PartialEq.) I don’t know if this is a reason not to do this, but it should be considered.

See also https://github.com/rust-lang/rfcs/blob/master/text/0469-feature-gate-box-patterns.md and https://github.com/rust-lang/rfcs/pull/462.

This would make pattern matching be able to run arbitrary code, which wasn’t the case before.

I'm not certain I see the difference from what's possible today. (Playground)
struct BigRedButton;

impl ::std::ops::Deref for BigRedButton {
    type Target = str;
    fn deref(&self) -> &Self::Target {
        panic!("launching nukes");
    }
}

fn main() {
    // Nothing to see here, just a pattern match.
    let s:&str = &BigRedButton;  // thread 'main' panicked at 'launching nukes'
}

That’s deref coercion happening on the right-hand-side of the assignment, not pattern matching. But yeah, maybe deref patterns are no big deal.

Still, because side effects are be involved we’d need to define the order of pattern "evaluation".

Apologies for the noise; after much faffing about I finally see what the difference is.
My mental model of when deref coercions are applied was a bit "off."  Apparently they apply to every expression, recursively, but only on the outermost type.
fn main() {
    let red = BigRedButton;
    let borrow: &BigRedButton = &red;
    let _:&str = borrow; // compiles
    let _:Option<&str> = Some(borrow); // compiles
    let _:(&str, &str) = (borrow, borrow); // compiles

    let tup: (&BigRedButton,) = (borrow,);
    let _: (&str,) = (tup.0,); // compiles

    let _: (&str,) = tup; // AHAH! Finally, a type error.
}

One could say that the examples that compile are exactly those examples where it is possible to insert "as &str" somewhere on the RHS to make the coercions explicit.

Pattern matching on recursive enums.
Currently, this is impossible without #![feature(box_patterns)] or recursive matches.  What if you wanted to pattern match on Strings or Rcs? The file I have open right now has three nested matches: one on the enum, one on the boxed value, and another on the String contained in the boxed value. That was before I decided to use box_patterns anyway.

You could add a unsafe DerefTrusted trait to force only 'trusted' deref implementations to run that don't panic or have side effects. Most smart pointers already require unsafe code anyways, and that's the primary use case for these situations (Box, Rc, String). However it would help ensure that both safe and unsafe code isn't unexpectedly broken by matching bad deref implementations.
However, I still feel that that restriction is unessicarry, since we already allow arbitrary code to run in the general case. Personally, I'm often anoyed by the lack of a general solution and the fact that box is given special treatment.

match_default_bindings is now stabilized. I've looked around and it seems that here is where discussion has moved, but it doesn't look like there is much momentum.

Quick summary of where we are at:
Motivating example: as @boomshroom mentions, matching on recursive enums.
We would typically want this to compile:
let x: Option<Rc<Option<usize>>> = Some(Rc::new(Some(4)));
match &x {
    Some(Some(_)) => {},
    _ => {},
}

Currently, this works with plain references:
let x: Option<&Option<usize>> = Some(&Some(4));
match &x {
    Some(Some(_)) => {},
    _ => {},
}

And with Boxes, with the box_patterns feature and special syntax:
let x: Option<Box<Option<usize>>> = Some(Box::new(Some(4)));
match &x {
    Some(box Some(_)) => {},
    _ => {},
}

The idea would be to extend the current behaviour of match_default_bindings, to something like https://github.com/rust-lang/rfcs/pull/1944. Currently, matching automatically derefs plain references as needed. We would like to extend this behaviour to all types implementing Deref. Another way to phrase this would be to allow &pattern patterns to match values behind any smart pointer and not just plain references. This would effectively obsolete the box_patterns feature. Another option would be to use special syntax like box_patterns, but still extend it to all Deref types.
This feature has been mentioned in the discussion around match_default_bindings, but rapidly put to the side. It also has been discussed in the match ergonomics RFC, but a lot has changed since then. Now that match_default_bindings is stabilized, we'd like to reopen discussion.
The main objections seem to be:

it would run abritrary code when matching
it could be too magic and thus confusing and/or lead to subtle bugs (this would be less of a problem with special syntax)

I think that when I made the comment, I was thinking of matching on something like
enum Expr {
    App(Box<Expr>, Box<Expr>),
    ...
}

but you example works just as well. One note about deprecating box_patterns is that Box is still special in that it's the only type capable of moving out of a dereference, so match e { Foo(box x) => x } wouldn't work without box_patterns unless x's type is Copy.

Matching a deep String is another use-case:
enum X {
    A(String),
    // ...
}

fn main() {
    match X::A("test".to_string()) {
        X::A(&"test") => (),
        X::A(_) => ()
    }
}

Need to match deep strings so badly...

@AlbertMarashi and everybody interested! I implemented deref patterns (including strings) in proc macro crate: https://crates.io/crates/match_deref


Consider writing a kubernetes operator for nats as a service.

Use Case:

Providing my users with NaaS (nats as a service) just like the etcd-operator allows them to use etcd as a service. They're currently using kafka, but most of the apps are in go and nats is a better fit. Making it more straightforward to spin up testing clusters on all of our available hardware seems like a massive win. Also we have existing software using nats which will be moving shortly to kubernetes.

Proposed Change:
Create a nats operator for creating, managing, and running nats / nats streaming as a service on a kubernetes cluster. Ideally, you'd run this with RBAC and give it only access to the specific namespaces the operator is running in.
Who Benefits From The Change(s)?
Kubernetes users who want to use nats. Since GKE has a free tier, it would make it really nice to document how to spin up a fully working out of the box nats server in the google cloud as well.
Alternative Approaches
Running nats manually on kubernetes works, but isn't near as magical or fun. Also, the configuration and monitoring can be done automatically when creating multiple discrete nats clusters for different users.
Use the kafka-operator and be sad that you have to use an app written in java.

Hi @SEJeff -- thanks for all the detail provided here, I like the way you explained the challenge and the benefit... Let me know if this repo @pires has been working on is useful for what you are trying to solve. I believe this is for NATS not NATS Streaming, but may be worth a look: https://github.com/pires/nats-operator
Regardless, I'd be interested to chat sometime and learn more about what you are using NATS for / considering it for, feel free to drop me a note at<EMAIL_ADDRESS>to sync up (or ping me in NATS Slack if you are in there...)
B

hey @SEJeff! I do have a working NATS operator as @bjflanne so kindly referred to above. It works great but is missing a live-migration upgrade story. Perhaps you want to help (https://github.com/pires/nats-operator/issues/16)?
Now, AFAIK NATS-Streaming doesn't support clustering. Has this changed in the last couple months? Otherwise, depending on your storage backend, a Statefulset is enough.

NATS Streaming clustering is still in progress...

...so a Statefulset is enough if your storage backend is disk and not some network-exposed database.

Has this changed in the last couple months?

@pires Glad you asked!  As @tylertreat said, streaming clustering is in progress.  We've updated our roadmap, and do plan to keep it current moving forward.

I would also like this, and please wrap it up in a helm chart.  Statetfulsets and or operator pattern would be great.  I would love to see an officially supported helm chart (with upgrade support).

@AceHack there's already a statefulset. The operator works fine too.
None are official but I've had some conversations with @wallyqs and @petemiron and they are willing to help.
There's no Helm support but feel free to contribute it.
Upgrades work fine but NATS has no story around upgrades that would guarantee no loss of messages. If a certain server goes away and has messages that no client (connected to it or any other server in the cluster) consumed, they're simply gone. I would like to see a story here but I'm open to be convinced to document this behavior and just move to support NATS Streaming (now that it is almost done with clustering).

FYI, a helm chart is under development, here.

Oh ok, @ColinSullivan1 a word of notice, multiple NATS instances coming up doesn't meant full-mesh so you should move from Deployment to Statefulset. I did so in my repo (and adopted the official container image plus a few other things) so feel free to take lessons from it if you want.

@pires just curious if it uses Parallel (burst) or normal stateful sets?
https://github.com/kubernetes/kubernetes/issues/41255
https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#parallel-pod-management

@pires , thanks!  Much appreciated, I'll take a look.  I did confirm full mesh using the chart, but I'll certainly look into moving to Statefulset.

@AceHack with NATS you can't burst. You need to make sure to connect to a host (headless service makes it random, yet not proxied) that knows about the full-mesh network, otherwise you'll have instances that have no routes between each other.

@ColinSullivan1 hmmm, I may be wrong but I'd recommend you triple checking that all nodes have routes to every other node in the cluster.

Checking in on this, can this be closed? /cc @pires @wallyqs

We'll be supporting the operator from @pires at https://github.com/nats-io/nats-operator so sounds good on closing (thanks again Pires!)


IT department rejected Tabular Editor 2, Wants newer .Net Runtime more recent version from 4.6

Having issues getting approval to install Tabular Editor 2.X in our environment as it uses .Net Version 4.6
Is it possible to have Tabular Editor use a more recent version of the .Net ?
We are trying to get Tabluar editor 2 installed in our environment for managing datasets etc

Tabular Editor 2.x uses .NET Framework 4.8, which is the latest .NET Framework release, which also ships natively with Windows 10 / Windows 11. We have no plans to go beyond .NET Framework (i.e., .NET 6/.NET 8), as this would require substantial changes to the application and also require a new deployment model, since none of the newer .NET runtimes ship with Windows. Moreover, .NET Framework 4.8 is still fully supported by Microsoft, and there are no plans to deprecate it, that we're aware of.


Restarting jmxtrans takes a long time and is done often

It seems that we restart jmxtrans quite often when updating configuration files. Instead of restarting jxmtrans once if a service had restarted, we seem to restart it once per service. I suspect we need to set the service resource name to be the same at bcpc_jmxtrans::default.rb#L74-L79 and bcpc_jmxtrans::default.rb#L74-L79 opposed to service specific.
We could use a log resource to report which services for which we are bouncing jmx first to still give that insight. And we could create a block of subscribes and guard conditions for a single service resource.
I question if we are not restarting jmxtrans when we should not need to as well.

An example where we restart jmxtrans twice is in this case where the datanode and regionserver were believed to have been restarted:
Recipe: jmxtrans::default
  * user[jmxtrans] action create (up to date)
  * ark[jmxtrans] action installRecipe: <Dynamically Defined Resource>
  * directory[/opt/jmxtrans-latest] action create (up to date)
  * remote_file[/var/chef/cache/jmxtrans-latest.zip] action create (up to date)
  * execute[unpack /var/chef/cache/jmxtrans-latest.zip] action nothing (skipped due to action :nothing)
  * execute[set owner on /opt/jmxtrans-latest] action nothing (skipped due to action :nothing)
  * link[/opt/jmxtrans] action create (up to date)
  * template[/etc/profile.d/jmxtrans.sh] action create (skipped due to only_if)
  * ruby_block[adding '/opt/jmxtrans-latest/bin' to chef-client ENV['PATH']] action run (skipped due to only_if)
 (up to date)
Recipe: jmxtrans::default
  * file[/opt/jmxtrans/jmxtrans.sh] action touch
    - update utime on file /opt/jmxtrans/jmxtrans.sh

  * template[/etc/init.d/jmxtrans] action create (up to date)
  * template[/etc/default/jmxtrans] action create (up to date)
  * directory[/var/log/jmxtrans] action create (up to date)
  * directory[/opt/jmxtrans/json] action create (up to date)
  * template[/opt/jmxtrans/json/set1.json] action create (up to date)
  * package[gzip] action install (up to date)
  * cron[compress and remove logs rotated by log4j] action create (up to date)
  * execute[set correct jps alternative] action run (up to date)
  * service[jmxtrans] action enable
    - enable service service[jmxtrans]

  * service[jmxtrans] action start (up to date)
Recipe: bcpc_jmxtrans::default
  * service[restart jmxtrans for hadoop-hdfs-datanode] action nothing (skipped due to action :nothing)
  * service[restart jmxtrans for hbase-regionserver] action nothing (skipped due to action :nothing)
  * service[restart jmxtrans on dependent service manual restart] action restart (skipped due to only_if)
Recipe: sysctl::default
  * ruby_block[save-sysctl-params] action run
    - execute the ruby block save-sysctl-params

Recipe: bcpc_jmxtrans::default
  * service[restart jmxtrans for hadoop-hdfs-datanode] action restart
    - restart service service[restart jmxtrans for hadoop-hdfs-datanode]

  * service[restart jmxtrans for hbase-regionserver] action restart
    - restart service service[restart jmxtrans for hbase-regionserver]


Autocmd Issues with Fugitive

I am having problems with project nvim trying to resolve the current working dir in some temp buffers that fugitive opens. For example the Gdiff family or branch status etc. This breaks the fugitive functionality and is very annoying and a major blocker. I have no idea why this is happening though.

Hi I have same issue. When I have this plugin active and I try to run Gvdiffsplit! to resolve merge conflicts using fugitive nothing will happen. Any chance to have a look at this? 🙏

Have not reproduced, but this logic is sus:
https://github.com/ahmedkhalf/project.nvim/blob/628de7e433dd503e782831fe150bb750e56e55d6/lua/project_nvim/project.lua#L216-L232
Lots of buffers—Fugitive, HTTP, zip file entry, etc—will have an empty buftype but still not correspond to a real file. Ignoring URLs would be a good first step.

I am also having this issue. Not much else I can offer, just wanted to see if this has any plans of being resolved.

Hi @ahmedkhalf could you please check this one out

I'm also having this issue and there seems to be an open pull request #78 that fixes the issue.
After looking into the code, I noticed the exclude_dir config can be used to also exclude protocols.
So for a workaround, you just can set this in your config project config:
	exclude_dirs = { "fugitive://*", "scp://*" },

@ahmedkhalf merging #78 would be great :)

Merged

Cool will give it a try and let you know thanks 🙏.


Plugin not working on Meta Quest 3

Hello
I'm using this plugin inside an Unreal Engine project where I use an outlet component to send a simple message. Although it works in preview, the resulting apk installed in my Oculus Meta Quest 3 does not send any message. I want to specify that the Headset and the computer (where the inlet program is installed) are connected to the same network. Am I missing something? Does anyone faced the same issue with Meta Quest?
Thanks in advice

Does the app have the CHANGE_WIFI_MULTICAST_STATE permission?

@tstenner thanks for the response. I've just tried your solution enabling CHANGE_WIFI_MULTICAST_STATE. Unfortunately it does not change anything

Did you make changes to the plugin so that it can build for Android? At the moment, only Windows is supported.

No I didn't make any change, I've just imported the plugin in Unreal and then built the project for Android. So this Plugin does not support Android? Is there a way to make it work? Thanks

This plugin only supports Windows, but it could probably work with Android if you have a liblsl built for Android (which I don't think are part of the release pipeline? But not sure).
If you have that, then you can probably edit the plugin to add Android support ([0], [1]).
In the meantime, I find it really weird that Unreal lets you package an Android project that uses this plugin without failing.

Yes I ensure that the plugin is enabled in Plugins tab and the package process completes successfully. I'm using Unreal 5.3.2.
I'm already looking for liblsl (found here https://github.com/labstreaminglayer/liblsl-Android/tree/master), but for now I don't manage to build it (sorry but I'm not an Android Studio expert). In the links you provided it is reported that I need an *.so file to include, but I don't find any .so file inside liblsl repository


Allow multicolumn index to specify the order in the annotation

Make sure these boxes checked before submitting your pull request.

[] Do only one thing
[] No API-breaking changes
[] New code/logic commented & tested

For significant changes like big bug fixes, new features, please open an issue to make an agreement on an implementation design/plan first before starting it.
What did this pull request do?
Allows the ability for multicolumn indexes to explicitly name columns in the order they want to be indexed, delimited by underscores.
ie: idx_column1_column2 or column2_column1_idx or table_idx_column1_column2 and so on.
If the columns are specified and delimited by an underscore _, then the ordering of the fields will use that... any fields that are omitted or not properly delimited will be placed at the end.
Addresses: #2803

Codecov Report

Merging #2804 into master will increase coverage by 0.12%.
The diff coverage is 91.66%.

@@            Coverage Diff             @@
##           master    #2804      +/-   ##
==========================================
+ Coverage   79.01%   79.14%   +0.12%
==========================================
  Files          24       24
  Lines        3540     3562      +22
==========================================
+ Hits         2797     2819      +22
  Misses        642      642
  Partials      101      101

Impacted Files
Coverage Δ

scope.go
87.36% <91.66%> (+0.33%)
:arrow_up:

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 79a77d7...c1d655d. Read the comment docs.


Core doesn't display correctly in Dock mode

Version (or build number)
0.1.0
Platform (Pocket or MiSTer)
Pocket
Steps to reproduce

Connect Pocket to Dock
Launch core
Launch game. I've tried Oil Panic & Parachute so far

Expected Behavior
That game isn't cut off
Actual Behavior
Game output is cut off

Additional Context
No response

The Dock works fine for me (well, that's not true, see below), and I've been testing on it all along.

Do you have some special settings selected? That screen looks quite small, is it possible that it's not 720p at minimum (the core runs at 720x720).
Note that I can't confirm that a 720p screen will display the core properly, I just assume it will based on Analogue's scaler.

The Dock actually wasn't fine for me, as after the first title I had up on my Pocket when I docked was done, I used the Core Settings menu to switch to another, and it was entirely black. I kept doing this, undocking and redocking (the video would reappear on the Pocket's internal display), even closing and reopening the core. The only thing that fixed it was restarting the Pocket, and I haven't been able to repro.

Ah yeah that's it. I had my Dock set to 480p as that's the only way for the Dock to output 4:3. Tested at 720p & 1080p and all is good (besides it being a squished 16:9 image but not this core's problem).


FI main into RI_WNP_ToastNotifications_L1

FI main into RI_WNP_ToastNotifications_L1. It has a fix the the build pipelines.
clean merge, no conflicts.

/azp run


Code from recently-uploaded tutorials do not work

Describe the bug
There are two new tutorials: 103-2 (which previously had an anchor but was not published) and 104-1.  These tutorials have code that works on graphs in the graph playground.  However, when they are loaded as tutorials, the code is not executed. No popup (error or otherwise) occurs.

When I click "run code in the cloud" nothing happens.
When I click "run code locally", the page hangs.  Nothing is printed to the console.

To Reproduce
Steps to reproduce the behavior:

Go to one of the tutorials (here's a link to 103-2)
Try clicking run from the cloud or run locally.

To see that the code actually works:

copy the code from the tutorial above.
Go to the tutorial graph
Copy the code in this editor.
Click run in the cloud or run locally; code will successfully execute.

Ok, this is a weird one. Turns out if the code won't run without default results loaded from the admin panel. I executed the code and uploaded the default results to the database and now it works fine. I will look into the code.

Ok, this is a weird one. Turns out if the code won't run without default results loaded from the admin panel. I executed the code and uploaded the default results to the database and now it works fine. I will look into the code.


Update README.md

Example of usage added fixing issue #17
@XanderEmu would it be a nice example?

Yes it would. It's also very colorful - I love it :)
One think that bothers me is construction of Imposer class. Does a datasource abstraction end on imposer's level? Because that code looks a lot like there's DQL in there (it's not much of a bad thing but it should be made clear).

FilterImposer will know how to impose conditions on specific QueryBuilder, so they know if it's Doctrine, Propel, Elastica or whatever and they will integrate with them. They will fetch specific QueryBuilder directly from SearchingContext and thats it. Rest of searcher library doesn't know what database is used.

That's fine but please make it clear in the example.
I personally like to name implementations in a way that describes exactly what they are. In this case I could call the imposer e.g. AgeRangeFilterDoctrineImposer.

Thats also a good point. I will fix this maybe even today.


Blank? Help

I run Buzz with the Whisper.cpp. It will finish but nothing happens. No srt file. I have tried numerous different formats and nothing happens. It will run for around 10 minutes and finish. But nothing happens. No download of a srt file. What am I doing wrong? I used to run the older version with no problem. Could find the srt where I downloaded it to. But with this new version 0.7.0 I get nothing.

Hi, yes. The UI on the new version is just a little different. Double-click on the row that says completed, and it should open the transcript, and you should be able to export. (You can also click on the row, and click the Export icon.)

Did this work for you?

@nmeln Are you on an Apple Silicon computer?

Got it. It's a known issue (see https://github.com/chidiwilliams/buzz/issues/323), and I've been working on a fix for a few days (https://github.com/chidiwilliams/buzz/actions/runs/3953120107/jobs/6769024210). The challenge is that GitHub's runners are Intel-only, but I should have a fix out soon.

@nmeln Are you on an Apple Silicon computer?

Yes, I'm using M1 Pro

I will redownload it. I got frustrated and took it out. I am using a HP Slim Desktop PC

Speaking of crashing... I did notice it crashed on "Very Large"

I put it back in and ran the whisper.cpp. it still doing the exact same thing. Says complete but double click on completed and it is blank. Nothing to export. :(

If you're on Mac Silicon, please retry with the new native version of Buzz. Testflight: https://testflight.apple.com/join/0T5byiDM. App Store: https://apps.apple.com/us/app/buzz-captions/id6446018936?mt=12&itsct=apps_box_badge&itscg=30200.


[Build] Add missing step condition

Description:
This PR adds a missing condition for the [Notification] Upload Artifact From S3 To GitHub step.

Testing report
Expected behavior

Full scenario: Audit changelog, Check that build exists in S3, Run unit test against commit, Build package, Test package, Push package to GitHub, Push package to S3 bucket.
If changelog doesn't exist, fail;
If the build exists in AWS S3 bucket, skip the build stage;

Testing result (Summary)

Case
dbt-core-release-test
dbt-snowflake-release-test

Full scenario
✅
✅

If changelog doesn't exist, fail
✅
✅

If the build exists in AWS S3 bucket, skip the build stage
✅
✅

Detailed report - dbt-core-release-test
Case №1
Description:

Full scenario: Audit changelog, Check that build exists in S3, Run unit test against commit, Build package, Test package, Push package to GitHub, Push package to S3 bucket.

Details
Pre-requirements:

Commit with no tag/release associated: 09ae66fce5bb0352305fd0817b8fe75d0ffb44a1
Release branch: https://github.com/dbt-labs/dbt-core-release-test/tree/1.0.latest
Version bump run against release branch: https://github.com/dbt-labs/dbt-core-release-test/actions/runs/3711312198

GitHub Release workflow inputs:
The last commit sha in the release: 09ae66fce5bb0352305fd0817b8fe75d0ffb44a1
The release version number:         1.0.0b3
The changelog path:                 ./CHANGELOG.md
The build script path:              scripts/build-dist.sh
The s3 bucket name:                 core-team-artifacts
The package test command:           dbt --version
Test run:                           true
GitHub artifact retention days:     2
Amazon Web Services region:         us-east-1
Python target version:              3.8
Notification prefix:                [Build]

Link to workflow run(s):

https://github.com/dbt-labs/dbt-core-release-test/actions/runs/3711343441

Outcome:

The changelog audit passed successfully;
The build exists check passed successfully;
Unit, Build package, and Test packages stages passed successfully;
Package build uploaded to ASW S3 bucket: S3 path: s3://core-team-artifacts/dbt-labs/dbt-core-release-test/artifacts_testing/1.0.0b3/09ae66fce5bb0352305fd0817b8fe75d0ffb44a1;
Created and published the draft release: https://github.com/dbt-labs/dbt-core-release-test/releases/tag/untagged-c56d64139041a9c07d19
Draft release targets specified commit: 09ae66fce5bb0352305fd0817b8fe75d0ffb44a1

Result: Test passed - ✅

Case №2
Description:

If changelog doesn't exist, fail

Details
Pre-requirements:

Target commit: 09ae66fce5bb0352305fd0817b8fe75d0ffb44a1
Target branch: https://github.com/dbt-labs/dbt-core-release-test/tree/1.0.latest

GitHub Release workflow inputs:
The last commit sha in the release: 09ae66fce5bb0352305fd0817b8fe75d0ffb44a1
The release version number:         1.0.0b4
The changelog path:                 ./CHANGELOG.md
The build script path:              scripts/build-dist.sh
The s3 bucket name:                 core-team-artifacts
The package test command:           dbt --version
Test run:                           true
GitHub artifact retention days:     2
Amazon Web Services region:         us-east-1
Python target version:              3.8
Notification prefix:                [Build]

Link to workflow run(s):

https://github.com/dbt-labs/dbt-core-release-test/actions/runs/3712066839

Outcome:
The workflow failed with the following message:
HEAD detached at 09ae66f
nothing to commit, working tree clean
Error: Version not set to 1.0.0b4. The versionbump worklow must be complete before running this workflow.
Error: Process completed with exit code 1.

Result: Test passed - ✅

Case №3
Description:

If the build exists in AWS S3 bucket, skip the build stage

Details
Pre-requirements:

Commit with associated release: 09ae66fce5bb0352305fd0817b8fe75d0ffb44a1
Release artifact should be presented in S3 bucket: s3://core-team-artifacts/dbt-labs/dbt-core-release-test/artifacts_testing/1.0.0b3/09ae66fce5bb0352305fd0817b8fe75d0ffb44a1
Release branch: https://github.com/dbt-labs/dbt-core-release-test/tree/1.0.latest
Version bump run against release branch: https://github.com/dbt-labs/dbt-core-release-test/actions/runs/3684062336

GitHub Release workflow inputs:
The last commit sha in the release: 09ae66fce5bb0352305fd0817b8fe75d0ffb44a1
The release version number:         1.0.0b3
The changelog path:                 ./CHANGELOG.md
The build script path:              scripts/build-dist.sh
The s3 bucket name:                 core-team-artifacts
The package test command:           dbt --version
Test run:                           true
GitHub artifact retention days:     2
Amazon Web Services region:         us-east-1
Python target version:              3.8
Notification prefix:                [Build]

Link to workflow run(s):

https://github.com/dbt-labs/dbt-core-release-test/actions/runs/3711387252

Outcome:

The workflow skipped the build stage and uploaded the artifact from S3 to GitHub artifact storage;

Result: Test passed - ✅

Detailed report - dbt-snowflake-release-test
Case №1
Description:

Full scenario: Audit changelog, Check that build exists in S3, Run unit test against commit, Build package, Test package, Push package to GitHub, Push package to S3 bucket.

Details
Pre-requirements:

Commit with no tag/release associated: 07a47d98100c5cabecc5fe7335aaf359c21e4a07
Target branch: https://github.com/dbt-labs/dbt-snowflake-release-test/tree/main

GitHub Release workflow inputs:
The last commit sha in the release: 07a47d98100c5cabecc5fe7335aaf359c21e4a07
The release version number:         1.4.0a1
The changelog path:                 ./CHANGELOG.md
The build script path:              scripts/build-dist.sh
The s3 bucket name:                 core-team-artifacts
The package test command:           dbt --version
Test run:                           true
GitHub artifact retention days:     2
Amazon Web Services region:         us-east-1
Python target version:              3.8
Notification prefix:                [Build]

Link to workflow run(s):

https://github.com/dbt-labs/dbt-snowflake-release-test/actions/runs/3711840770

Outcome:

The changelog audit passed successfully;
The build exists check passed successfully;
Unit, Build package, and Test packages stages passed successfully;
Package build uploaded to ASW S3 bucket: s3://core-team-artifacts/dbt-labs/dbt-snowflake-release-test/artifacts_testing/1.4.0a1/07a47d98100c5cabecc5fe7335aaf359c21e4a07;
Created and published the draft release: https://github.com/dbt-labs/dbt-snowflake-release-test/releases/tag/untagged-d92ac9cf99357b9e5f3e
Draft release targets specified commit: 07a47d98100c5cabecc5fe7335aaf359c21e4a07

Result: Test passed - ✅

Case №2
Description:

If changelog doesn't exist, fail

Details
Pre-requirements:

Target commit: 09ae66fce5bb0352305fd0817b8fe75d0ffb44a1
Target branch: https://github.com/dbt-labs/dbt-core-release-test/tree/main

GitHub Release workflow inputs:
The last commit sha in the release: 07a47d98100c5cabecc5fe7335aaf359c21e4a07
The release version number:         1.3.9b1
The changelog path:                 ./CHANGELOG.md
The build script path:              scripts/build-dist.sh
The s3 bucket name:                 core-team-artifacts
The package test command:           dbt --version
Test run:                           true
GitHub artifact retention days:     2
Amazon Web Services region:         us-east-1
Python target version:              3.8
Notification prefix:                [Build]

Link to workflow run(s):

https://github.com/dbt-labs/dbt-snowflake-release-test/actions/runs/3711942511

Outcome:
The workflow failed with the following message:
HEAD detached at 07a47d9
nothing to commit, working tree clean
Error: Version not set to 1.3.9b1. The versionbump worklow must be complete before running this workflow.
Error: Process completed with exit code 1.

Result: Test passed - ✅

Case №3
Description:

If the build exists in AWS S3 bucket, skip the build stage

Details
Pre-requirements:

Commit with associated release: 07a47d98100c5cabecc5fe7335aaf359c21e4a07
Release artifact should be presented in S3 bucket: s3://core-team-artifacts/dbt-labs/dbt-snowflake-release-test/artifacts_testing/1.4.0a1/07a47d98100c5cabecc5fe7335aaf359c21e4a07
Target branch: https://github.com/dbt-labs/dbt-core-release-test/tree/main

GitHub Release workflow inputs:
The last commit sha in the release: 07a47d98100c5cabecc5fe7335aaf359c21e4a07
The release version number:         1.4.0a1
The changelog path:                 ./CHANGELOG.md
The build script path:              scripts/build-dist.sh
The s3 bucket name:                 core-team-artifacts
The package test command:           dbt --version
Test run:                           true
GitHub artifact retention days:     2
Amazon Web Services region:         us-east-1
Python target version:              3.8
Notification prefix:                [Build]

Link to workflow run(s):

https://github.com/dbt-labs/dbt-snowflake-release-test/actions/runs/3711916436

Outcome:

The workflow skipped the build stage and uploaded the artifact from S3 to GitHub artifact storage;

Result: Test passed - ✅


Pinning policy was changed to scoped pinning in enableSpeedbFeaturesCF

This PR should be merged only after PR (#653 ) is merged

@RoyBenMoshe, @ayulas - I know I am not the reviewer, however, since I am working on static pinning, and making changes that should be in sync (e.g., #687), I briefly looked at the code and made the comment above.

Closing as this was replaced by https://github.com/speedb-io/speedb/pull/715