Fix cli distributed command hang issue

Cherry pick of https://github.com/Alluxio/alluxio/pull/16786
What changes are proposed in this pull request?
Whenever the job command status is being asked for the job command id, it is mostly being asked by alluxio cli client in synchronous mode, it should return the status immediately in case of plan info has one of the finished status like failed, completed or cancelled instead of checking its children tasks' status and deriving the final status.
Why are the changes needed?
As per #16708, the distributed cli commands like distcp and distload hang; same behaviour observed consistently whenever any job worker is declared disconnected by job master.
Currently, the job master derives the status for job command id by calling its children job control id which internally, derives its status from its children's status. In normal circumstances, all the children of job control id have expected status but in circumstance like any job worker disconnected from job master, children have different odd status combination like one has RUNNING while other has FAILED or COMPLETED even though its job control id has FAILED final status (plan info). This situation makes the job command id always in RUNNING state and apparently, alluxio cli client waits forever.
The job control id (plan info) should return the status whenever it has one of the finished status like failed, completed or cancelled instead of deriving from its children.
Does this PR introduce any user facing changes? NA
pr-link: Alluxio/alluxio#16786
change-id: cid-e99b94fb06552c9b1e57278788c679cee1158bac

alluxio-bot, merge this please


GIMP 2.99.18  error

Hi
When trying to run in GIMP 2.99.18 I have this error
https://gitlab.gnome.org/GNOME/gimp/-/issues/10972
how to solve it?

@arcadegirl as is stated in the linked thread, imp 2.99 is basically an alpha for Gimp 3 and uses Python 3 with a different API.
I know about this, but I have no intention of dealing with it until they cement Gimp 3 as the main version and make some decent documentation for it. It was enough pain already to figure out the Python 2 API through trial and error 😐


why do we import starepandas in some modules

e.g. STAREPandas/starepandas/io/granules/__init__.py imports starepandas. Why?

Do the docstring examples make use of it?
Is this acceptable practice?
What happens if we remove the imports?

Okay, I found that commenting out the explicit imports of pystare and starepandas in all the modules under starepandas/io seemily has no effect because if you look at the global namespace like sys.modules.keys() or a local namespace granule.__dict__.keys() both starepandas and pystare are already available due too much earlier definitions.
Indeed, starepandas/io/__init__.py already knows about pystare and starepandas before any of the enclosed modules are imported.
Anyway, I suspect is just cosmetic; the python standard of ignoring already imported modules makes these imports redundant (python is pretty good at avoiding circular referencing and imports).
That being said, these imports immediately caught my eye and made me (and you) spend time thinking about it, so perhaps we should carefully check if in fact they are unnecessarily, and if so, remove them for clarity.
Of course imports like in starepandas/io/granules/ssmis.py:
    from starepandas.io.granules.granule import Granule
    import starepandas.io.s3

are perfectly in order as they only pull Granule into the local namespace of ssmis.py. I believe from .granule import Granule does the same thing.
Using explicit dot-notation to call s3 functions (ds = starepandas.io.s3.nc4_dataset_wrapper(scp)) is more clear than if we used from starepandas.io.s3 import nc4_dataset_wrapper and ds = nc4_dataset_wrapper(scp) IMHO. Both are valid of course.


Migrate from FilesystemResult to SafeWrapper

Resolved / Related Issues
-
Details of Changes

Coming from Clipboard Canvas, this PR replaces FilesystemTasks with a more advanced solution called SafeWrapper. The goal of SafeWrapper is to ensure software stability and make it less vulnerable to bugs and crashes, it also provides the ability to customize error messages. The long-term plan is to replace try-catch blocks with SafeWrapperRoutines and replace return values of methods with SafeWrapper<> and SafeWrapperResult.

I'll leave this PR for now for other contributors to investigate SafeWrapper code, once it's approved, I'll start converting the codebase to use it.
Validation

[ ] Built and ran the app
[ ] Tested the changes for accessibility

Could you add an example of how some code that uses FilesystemTasks would become with SafeWrapper?

Well, the main benefit of SafeWrapper is that it helps unify the codebase. A lot of places utilize it to return and notify of the state of the method while providing useful information:

The method will return different errors in case of failure.
It also comes with SafeWrapperRoutines which is an expansion of FilesystemTasks that supports both synchronous and asynchronous callbacks. Callbacks witch chaining (OnFailure, OnSuccess) (though these are a bit broken at this stage 😅)

Another use of SafeWrapper is that it can provide flexible error reporting thanks to ISafeWrapperExceptionReporter so you can provide in-depth information about the operation state to the user.

(Accepts custom ISafeWrapperExceptionReporter, if not provided, the default one is used)
Unlike FilesystemTasks, SafeWrapper comes with SafeWrapperResultDetails which in turn, provide details about the result of an operation:

It was engineered from the inception, to provide as many details as possible.
Important note
SafeWrapper isn't something new, but rather it's an upgrade to existing FilesystemTasks. An upgrade flexible enough and designed to adapt to the whole codebase.

@d2dyno1 still have to check this out, but could the SafeWrapper be put in the Common project? I wouldn't mind using it in the fulltrust process as well instead of the "Extensions.IgnoreExceptions()" method.

@d2dyno1 still have to check this out, but could the SafeWrapper be put in the Common project? I wouldn't mind using it in the fulltrust process as well instead of the "Extensions.IgnoreExceptions()" method.

That could work but SafeWrapperExceptionReporter has some references that make it impossible to port to the Common project entirely. We could define the implementation in the Files project while having the definition (interface) in Common, though we'd need to pass it every time to SafeWrapperRoutines if we wanted to have error reporting. @gave92

@duke7553 Ready to merge


ECDSA signature verification fails when the y coordinate contains too many trailing 1s

coincurve 13.0.0 fails when the y coordinate contain too many trailing 0s. You can check this
with the following teste vectors from Google Wycheproof:
{
  "algorithm" : "ECDSA",
  "generatorVersion" : "0.8r12",
  "numberOfTests" : 380,
  "header" : [
    "Test vectors of type EcdsaVerify are meant for the verification",
    "of ASN encoded ECDSA signatures."
  ],
  "notes" : {
    "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
    "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
    "MissingZero" : "Some implementations of ECDSA and DSA incorrectly encode r and s by not including leading zeros in the ASN encoding of integers when necessary. Hence, some implementations (e.g. jdk) allow signatures with incorrect ASN encodings assuming that the signature is otherwise valid.",
    "PointDuplication" : "Some implementations of ECDSA do not handle duplication and points at infinity correctly. This is a test vector that has been specially crafted to check for such an omission."
  },
  "schema" : "ecdsa_verify_schema.json",
  "testGroups" : [
    {
      "key" : {
        "curve" : "secp256k1",
        "keySize" : 256,
        "type" : "EcPublicKey",
        "uncompressed" : "04d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb93f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff",
        "wx" : "00d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb9",
        "wy" : "3f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff"
      },
      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb93f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff",
      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE0S5sZrZ3NMPITSYBz1013Al+J2N/CspK\nT9t0tqrdO7k/W9/4i9VzbfiY5pkAbtdQ8RzwfFhmzXrXDHEh/////w==\n-----END PUBLIC KEY-----",
      "sha" : "SHA-256",
      "type" : "EcdsaVerify",
      "tests" : [
        {
          "tcId" : 375,
          "comment" : "y-coordinate of the public key has many trailing 1's",
          "msg" : "4d657373616765",
          "sig" : "30450220592c41e16517f12fcabd98267674f974b588e9f35d35406c1a7bb2ed1d19b7b8022100c19a5f942607c3551484ff0dc97281f0cdc82bc48e2205a0645c0cf3d7f59da0",
          "result" : "valid",
          "flags" : []
        },
        {
          "tcId" : 376,
          "comment" : "y-coordinate of the public key has many trailing 1's",
          "msg" : "4d657373616765",
          "sig" : "3046022100be0d70887d5e40821a61b68047de4ea03debfdf51cdf4d4b195558b959a032b20221008266b4d270e24414ecacb14c091a233134b918d37320c6557d60ad0a63544ac4",
          "result" : "valid",
          "flags" : []
        },
        {
          "tcId" : 377,
          "comment" : "y-coordinate of the public key has many trailing 1's",
          "msg" : "4d657373616765",
          "sig" : "3046022100fae92dfcb2ee392d270af3a5739faa26d4f97bfd39ed3cbee4d29e26af3b206a02210093645c80605595e02c09a0dc4b17ac2a51846a728b3e8d60442ed6449fd3342b",
          "result" : "valid",
          "flags" : []
        }
      ]
    }
  ]
}

and proof of concept:
from coincurve.keys import PrivateKey, PublicKey
from coincurve.utils import bytes_to_int, int_to_bytes_padded, verify_signature

from cryptography import exceptions
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import ec
from cryptography.hazmat.primitives.asymmetric import utils

from hashlib import sha256

import json

def main():

    with open("ecdsa_secp256k1_sha256_test_y_coordinate_trail_1.json", "r") as read_file:
        secp256k1_sha256_test = json.load(read_file)

    for test_group in secp256k1_sha256_test["testGroups"]:
        comp_str = test_group["key"]["uncompressed"]
        co_x = test_group["key"]["wx"]
        co_y = test_group["key"]["wy"]

        public_key = PublicKey(bytes.fromhex(comp_str))

        for test in test_group["tests"]:
            print("Loading test", test["tcId"], "with result:", test["result"], "\n")

            ### using python coincurve

            signature = bytes.fromhex(test["sig"])
            message = bytes.fromhex(test["msg"])
            print("\tcoincurve: ", public_key.verify(signature, message))

            ### using python cryptography

            curve = ec.SECP256K1()
            algo = ec.ECDSA(hashes.SHA256())

            pubnum = ec.EllipticCurvePublicNumbers(int(co_x, 16), int(co_y, 16), curve)

            data = bytes(bytearray.fromhex(test["msg"]))
            public_key_2 = pubnum.public_key(default_backend())
            signature = bytes(bytearray.fromhex(test["sig"]))

            try:
                public_key_2.verify(signature, data, ec.ECDSA(hashes.SHA256()))

            except exceptions.InvalidSignature:
                print("\tcryptography.io: False")
            else:
                print("\tcryptography.io: True")

if __name__ == "__main__":
    main()

where I compare the output of coincurve with the python cryptography
library.

https://github.com/ofek/coincurve/issues/68#issuecomment-633665607


Discipline: Total incidents and student incident counts don't update when changing time range

This was definitely working before (see GIF in https://github.com/studentinsights/studentinsights/pull/1670), but seems to have regressed.
To reproduce:

Load the page for any school and click on the time filter.
I was expecting the "total incidents" at the bottom left to update, and the "incidents" for each student to update.
They seem to be unchanged regardless of the time filter.

@kevinrobinson I ran into this while working on #1811. I should have a fix within a day or so.

@edavidsonsawyer awesome, sounds great! 👍

Should be all set with #1815


Http Basic Auth does not work with Guzzle\Service\Client

I am trying to use the Service\Client to fetch data from a REST web service. Unfortunately I need basic authentication to do so. Passing the "auth" configuration parameter, like stated in the docs, does not work.
What I do:
$client = new Client('http://webservice/url', [
            'defaults' => [
                'auth'    => ['username', 'password'],
            ]
        ]);

Webservice denies access. Using the same combination of login/pass works perfectly in the browser. Does anybody have an idea where the problem may be?

I did a similar thing by mistakenly including an old composer package. I had included the guzzle/guzzle that only goes up to version 3.9.3.
Guzzle is currently up to version 6.0.1. The correct package is: guzzlehttp/guzzle.


Calendar doesn't scroll when valueModel changed

Describe the bug
I'm trying to implement custom preset logic. When I select preset in my own input type="select", I change the value prop passed to the Datepicker component. Chosen range highlights in the calendar but there is no scroll to the start of that range.
To Reproduce

create datepicker and pass following props: { inline: true, autoApply: true, range: true, multiCalendars: true }
try to change valueModel programmatically to dates that are outside the current view

Expected behavior
View changes to the start of newly selected range (exactly as when using the existing presetRanges prop)
Desktop & mobile (please complete the following information):

Browser chrome
Library version 3.2.0

https://stackblitz.com/edit/vuepic-vue-datepicker-gh1jwr?file=src/components/Playground.vue

I made some research and find out that it reproduces only when multiCalendar: true otherwise works as expected

Ok, checked what is the issue. This was referenced here (#27), previous behavior was like you want it, I will how to handle both cases.


doc: misaligned text for covariant result types section of FAQ

What version of Go are you using (go version)?
1.7.1
What did you expect to see?
A body text layout as for the rest of the FAQ, for instance in the "Why is my nil error value not equal to nil?" section:

What did you see instead?
Text that's to the left and right of what's considered the text margins for the FAQ body:

Fix
The inconsistent use of
 tags is the cause of the difference; see the covariant return section compared with the nil error value section.
Changing the relevant HTML to:

Covariant result types would mean that an interface like

type Copyable interface {
	Copy() interface{}
}

would be satisfied by the method

fixes this:

https://go-review.googlesource.com/29442


Fixed a swift compilation error

Fixed the following error:
QRScanner.swift:484:74: 'openSettingsURLString' has been renamed to 'UIApplicationOpenSettingsURLString'
UIApplication.openSettingsURLString should be the way to do it in Swift 5, but it doesn't seem to work. UIApplicationOpenSettingsURLString however does work.
It's a temporary solution but it at least makes things work.

There have been five PRs opened since this one to address the same issue (#251, #260, #266, #271 and #272).


WIP: Leveraged Token exchange issuance

Will close this PR to avoid confusion and reopen a new PR later when the whole Leveraged EI feature is ready for review by Set Team


Support for PIXI v6 individual modules

Using pixi-particles with the individual PIXI v6 modules is not possible at the moment because index.d.ts imports PIXI objects from the pixi.js bundle.
With v6 the individual packages have proper TypeScript types so it would be better to import these from the specific package, for example import { Container } from '@pixi/display'. This seems to be the "official" direction that other plugins are going as well.

Release 5.0.0 is out!


Still refusing to display because site set 'X-Frame-Options' to 'sameorigin'

I am using chrome and put the module in the header above my javascript and jquery file, I've tried various ways of appending the iframe and is: attribute, however, no matter what I seem to do I keep getting the same error.

hey do you know how to fix this issue if am able to bypass my ALLOW FROM ? what could be its solution?


fix home page

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: jstrachan
If they are not already assigned, you can assign the PR to them by writing /assign @jstrachan in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

:star: PR built and available in a preview environment jstrachan-nodey98-pr-1 here

/test this

:star: PR built and available in a preview environment jstrachan-nodey98-pr-1 here


Client code should return error bodies in addition to error statuses

There are many cases where a helpful body is returned in an http error response as to what went wrong, but that information is lost since the client code just returns the http status code. For example, 400 Bad Request being returned when the storage policy asked for did not exist or was deprecated.
Maybe we could expand client.HTTPError to have a body with this text? It's not exactly the status text, which would be Bad Request in the example above and is easily looked up via a status code map.

SimpleErrorResponse, duh.


fix: outclass name error question (#14286)

What is the purpose of the change
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[x] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[x] Add some description to dubbo-website project if you are requesting to add a feature.
[x] GitHub Actions works fine on your own branch.
[x] If this contribution is large, please follow the Software Donation Guide.

Please explain the problem solved.

dubbo  3.3.0-beta.3 fix this bug


chore: bdd-spring-1578354410 to 0.0.1

chore: Promote bdd-spring-1578354410 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


ON-15382 # Added groupFiles property to TRIM form submission event

Should be some docs to update I think


Devtools/3p api prototype

NOTE: This PR is strictly for review purposes. I have no intention of merging it. Pieces of this will be pealed out into separate PRs as aspects settle via review.
Notes for reviewers
This PR captures 3 things at a high level:

Updates the core devtools library (client-debugger) to scope its API for better usability. It attempts to accomplish this by making the following pattern changes:

Reduced scope - we strictly now expose the root IFluidDevtools interface and a function to initialize it (in terms of public exports - there are many internal exports needed by the view and chrome extension libraries).
Global singleton - FluidDevtools now manages a singleton instance that initialization (and its dispose method) interact with. The idea here is that an external user calls the initialize function, which sets the singleton and returns it. When they are done with it (or automatically on window.onBeforeUnload), the instance is disposed, which unsets the singleton.

Adds a higher level adapter devtools library for use alongside fluid-static (operates on IFluidContainers instead of IContainers).

This library is effectively what I see us presenting to our Azure customers (though we may also want to add a azure-client-devtools library, which would probably just re-export the members of this library).
It is implemented as a thin wrapper around the lower level APIs and primarily exists to convert IFluidContainers to IContainers.

Adds Devtools initialization to the external-controller example in the azure mono-repo.

Demonstrates the expected usage pattern.

I have extracted the changes to client-debugger to make the root devtools object a singleton into a separate PR here: #15405


Implement an event system

Exactly what it says.  It'll probably be something to the effect of:
struct Event {
    union { ... } payload;k
    int type;
};

syz_ErrorCode syz_getEvent(syz_Handle context, int *got, struct Event *evt);

backed by a lockfree queue, and filtered so that anything that gets deleted before you grab the event doesn't show up.  The C API will probably in practice be more complicated.   We can expose this in Python as an iterator and I think that can work for Rust too.
CC @chrisnorman7.

Sounds good, not that I understand much of what's going on in your C++.
Why an iterator out of interest? Would something like
def on_done():
    print('Completed.')
generator.on_done = on_done

Or even more pythonically:
@generator.register_event('on_done')
def _():
    print('Done.')

Absolutely understand if it's easier to implement as an iterator though.

So first, this is a C library.  While the Python bindings are convenient, at the end of the day the point of them is to expose a bunch of C functionality to you, not to be the end-all solution.  Event decorators or similar kind of belong in something like Earwax.
But as for why Synthizer isn't using callbacks:

In C and most lower level languages, using callbacks is a very special sort of hell where good programmers go to die, at least for smaller programs.
Anything larger is going to probably already have some sort of event system they'll want to integrate us with.
Lots of things like SDL work the same way as I'm proposing, so it's similar.

But the really fun point is: suppose Synthizer does expose callbacks.  When do they run?  how?  In Python, you also have the GIL which is a cost you'd pay for every event, but the real question is whether or not you're going to be getting callbacks in the middle of a game tick or not.  SO the right answer ends up being that you call some sort of function that runs all the pending events, which is almost the same thing as just making you iterate them with the added disadvantage of being less flexible.  But that brings us to the next question: what if you need to stop early because you've run out of time and need to run the next tick of your game?  It just in general turns into a scheduling nightmare for anything that's not a trivial app.

That's fine mate. Thank you for the explanation.
Take care,
Chris Norman
On Sat, 14 Nov 2020 at 14:23, Austin Hicks<EMAIL_ADDRESS>wrote:

So first, this is a C library. While the Python bindings are convenient,
at the end of the day the point of them is to expose a bunch of C
functionality to you, not to be the end-all solution. Event decorators or
similar kind of belong in something like Earwax.
But as for why Synthizer isn't using callbacks:

In C and most lower level languages, using callbacks is a very
special sort of hell where good programmers go to die, at least for smaller
programs.
Anything larger is going to probably already have some sort of event
system they'll want to integrate us with.
Lots of things like SDL work the same way as I'm proposing, so it's
similar.

But the really fun point is: suppose Synthizer does expose callbacks. When
do they run? how? In Python, you also have the GIL which is a cost you'd
pay for every event, but the real question is whether or not you're going
to be getting callbacks in the middle of a game tick or not. SO the right
answer ends up being that you call some sort of function that runs all the
pending events, which is almost the same thing as just making you iterate
them with the added disadvantage of being less flexible. But that brings us
to the next question: what if you need to stop early because you've run out
of time and need to run the next tick of your game? It just in general
turns into a scheduling nightmare for anything that's not a trivial app.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/synthizer/synthizer/issues/21#issuecomment-727214265,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABBUZ2ICSYACY6C3SX52FE3SP2HFDANCNFSM4TTMPOFA
.

Could you add a way to directly check if a generator is done playing for example? It sounds like doing that in the middle of a game loop would be tricky.

It's not a bad idea, but I would imagine that the 99% case is that the app is just going to use the stopped event to destroy generators as needed.  Also, graceful deletion has an issue on the Synthizer side, but I forget the number of it.  being able to query that also falls into the whole "make property reads faster" thing in a way.
If you're hoping to have gapless playback, you won't get that by polling, though.

But let's say that each enemy game has a list of generators, all connected to one source. If I recieved a stop event for one of those generators, how would I know which enemy it belonged to in order to remove it?

Well surely you'd either get some generator ID or a pointer or something to identify the generator that fired it.

You either maintain a mapping yourself, or you put the thing that fired it in a userdata pointer.
It's not hard to make a map of synthizer object to thing that spawned it in your engine (e.g. Python's WeakKeyDictionary for instance).  By not very hard I mean maybe 20 lines in most programming languages.  I see value in supporting some sort of polling interface eventually, but I'm not willing to do it in a one-off fashion on a case-by-case basis because that slowly turns into a maintenance burden, and I don't have the bandwidth to prioritize the optimization work that needs to happen to make that possible when it's almost trivial to implement yourself.

How about something where you create a generator, attach it to a source, and tell Synthizer to drop it when it's done playing and just forget it? That should work for cleaning up sounds like gunshots and footsteps.

That's #24

The event system has landed, but with constraints and with planned changes in 0.9.  I'm leaving this issue open until 0.9 happens which will improve the story around multithreaded management of handles.  BufferGenerator and StreamingGenerator both now send a finished and looped event, which are sufficient to be used in a variety of scenarios.  Specifically, we're also careful to send finished if the node is finished and looping gets set to false, which enables graceful deletion.  Specifically:
To gracefully delete a non-looping generator:

Create the generator.
Record it somewhere so you can tell which one it is
Add it to the source
Destroy it when you get a finished event.

This recipe also works for looping, as long as the generator is configured to loop before being attached to the source.  The next release will probably be sometime later today; I'm also going to try to get one more thing into it.
@chrisnorman7
I think this solves your Earwax deleting issues for the short term.  In the long term Synthizer itself will still be implementing graceful deletion.  As one of the early adopters, let me know if it doesn't.

The event system has landed, but with constraints and with planned changes in 0.9.  I'm leaving this issue open until 0.9 happens which will improve the story around multithreaded management of handles.  BufferGenerator and StreamingGenerator both now send a finished and looped event, which are sufficient to be used in a variety of scenarios.  Specifically, we're also careful to send finished if the node is finished and looping gets set to false, which enables graceful deletion.  Specifically:
To gracefully delete a non-looping generator:

Create the generator.
Record it somewhere so you can tell which one it is
Add it to the source
Destroy it when you get a finished event.

This recipe also works for looping, as long as the generator is configured to loop before being attached to the source.  The next release will probably be sometime later today; I'm also going to try to get one more thing into it.
@chrisnorman7
I think this solves your Earwax deleting issues for the short term.  In the long term Synthizer itself will still be implementing graceful deletion.  As one of the early adopters, let me know if it doesn't.

Will do mate. Thanks for that
Where the docs for this be? I'm guessing it'll be as obvious (in Python) as:
generator.finished = f

But in case I'm wrong, I'd rather read the manual than get you to repeat yourself.

Will do mate. Thanks for that
Where the docs for this be? I'm guessing it'll be as obvious (in Python) as:
generator.finished = f

But in case I'm wrong, I'd rather read the manual than get you to repeat yourself.

I'm probably late to this party but there's a tutorial up on synthizer.github.io.

Haha, yeah, found it ages ago.
Good job though.
Take care,
Chris Norman
On Sat, 6 Feb 2021 at 16:10, Austin Hicks<EMAIL_ADDRESS>wrote:

I'm probably late to this party but there's a tutorial up on
synthizer.github.io.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/synthizer/synthizer/issues/21#issuecomment-774500359,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABBUZ2O6WEJ6ALYOEYFR3NLS5VSX5ANCNFSM4TTMPOFA
.

This should now be closed out.  Will land fully in 0.9.  I'm going to be doing a final code audit to check some things in general before pushing 0.9 out, but there's no reason to keep this open.
If you're a Python user nothing has changed for you.  C users will have minr incompatibilities in 0.9, namely that you're now supposed to deinit event structs when you're done with them.


Android automatic refactor - ObsoleteLayoutParam

Hi,
I am developing a tool to automatically refactor Android applications with the goal of improving energy efficiency.
This pull request has the changes generated while applying the rule "ObsoleteLayoutParam".
While developing your application's views you might be specifying attributes in a view's artefact that are not necessary due to the nature of its parent. In this PR, those attributes were replaced by a comment.
I have made a previous validation of the changes and they seem correct.
Unfortunately, this tool is not able keep the original whitespace of the files, so comparison without ignoring whitespace might be confusing.
Please consider the changes and let me know if you agree with them.
Best,
Luis

Other than adjusting whitespace it looks like the only differences your tool made were removing a couple instances of layout_centerVertical and one instance of layout_weight. Is this correct? It's admittedly hard to read the diff with all of the whitespace refactored.

Thanks for your feedback @milo-trujillo
Yes, you're correct! Regarding the whitespace, I have to find a way of manipulating XML without having to regenerate the whole file.
I have analyzed your project against other rules. But these were the only issues it could find ;)

Unfortunately out codebase has deviated so far since this pull request that it is no longer reasonable to integrate it.


Allow optional dependencies and provide features to check if they have been found

Fix #27

That looks like it should work for our use case. However it seems to cause problems with package names that have hyphens, like cairo-svg:
error: invalid `--cfg` argument: `system_deps_have_cairo-svg` (expected `key` or `key="value"`)

Good catch. I'm now converting to snake_case so system_deps_have_cairo_svg should work with the updated branch.

I'm now converting to snake_case so system_deps_have_cairo_svg should work with the updated branch.

Yes, that seems to work now, thanks.


Check if the FUZZ keyword is in the URL

Hi, is this project no longer maintained?

@FireFart

thanks this was implemented in the dev branch


CSRF Token missing in cookie while admin's changeform

First of all, thank you for the library, it is really helpful.
I am trying to upload a file following your tutorial in the documentation. However, I am facing an error of Permission Denied due to missing CSRF token.
I am using the JSONField in django's admin changeform. While going through your code, I noticed that you are retrieving the CSRF token from cookie as stated here. However, in admin changeform or while using the middleware django.middleware.csrf.CsrfViewMiddleware a hidden HTML field with name csrfmiddleware is added and no csrftoken token is set in the cookie.
As a workaround, I have set the cookie manually in my js file:
document.cookie = "csrftoken=" + $("input[name=csrfmiddlewaretoken]").val()

Then everything works as expected.
To resolve this I propose to modify getCsrfCookie function to check for the csrfmiddleware field or cookie before returning null.

Okay, I'll add this. Thank you for the suggestion.
But I wonder why it's not working for you. The cookie should be set by the middleware (as documented here).
Are you using a custom changeform template?
Or have you set a custom name for the cookie using CSRF_COOKIE_NAME setting?

Awesome, thanks a lot!


Bump GitHub Actions Runners to v2.300.2

Part of https://github.com/iree-org/iree/issues/11554

Argh I didn't update the checksum :facepalm:


DNP3 Master comms point defect

It's been observed that high latency on a TCP DNP3 connection can be enough for the link status to timeout (and master will set comms point failed and point quality comm_lost).
BUT the TCP connection doesn't necessarily drop out, and eventually the link status reply comes through (so the comms point is set good).
The problem is that if the TCP connection didn't drop out, the master didn't have to do an integrity scan, and that's what we rely on to reset the point quality.
In summary, opendatacon has an invalid assumption built in that there's always an integrity scan after a comms fail, but this is a false assumption.
ACTIONS:
Reconsider forcing the TCP connection closed on link status timeout; this is what the DNP3 spec says in an optional section, but I was avoiding doing that because it effects multidropped stations on the same connection.
Consider forcing an integrity scan after link-timeout, but this might result in redundant scans if the TCP connection did go down (or messy state logic to avoid it).

Another possible solution might be to disable and re-enable the stack on a link timeout.

After some investigation:

There's no way to close the connection directly. The opendnp3 API only exposes a Shutdown() interface on the channel which destroys everything. The only way to get it to close is to disable all the stations on the channel together, and that's not feasible with the current architecture.
Disabling and enabling the stack should solve the immediate issue of ensuring the startup integrity scan is triggered, and for the single drop case the connection will close, but it leaves the issue of broken connections remaining open for multidrop...

So I'll implement the disable/enable workaround and open a separate issue for the underlying broken connection issue.

Commits
c0dac2fe416be4bcf026efab4d1b439e6a679a64
3b3601852ddc62aa5ef42542b1ec14da8ba423d8
07208b6f68b4646fd83be066c330fec91d491613
should solve this issue.
A summary of the changes:

Refactored the link state logic and channel handling in general

This exposed a regression that appeared in June 2018 on multidrop channel listening - fixed
It also exposed a logical error or false assumption about the link layer callbacks from opendnp3

There's not always a callback when a link recovers, because there isn't always a keepalive success or link status change

Fixed by setting the link up on IIN callback for master and time without a keepalive failure for outstation

Added a watchdog for each channel to coordinate a synchronised restart of protocol stacks if all links on a channel go down

This all means that multidrop station failures don't affect the other stations on a channel, but channels still get reset if all station are affected.
TODO: add test cases

single drop link failure = channel closed and re-established
multidrop partial links failure = links fail and re-establish without channel close (comms point behaves)
multidrop all links failure = channel closed and re-established

Tests added


feat: add syntax highlighting

Summary
This PR adds syntax highlighting feature
Demo:

Test plan
Ask AI for a message that can contain codeblock, for example: show me swift class that stores a counter state and has methods to increment and decrement
TODO

[ ] Add option to disable syntax highlighting

I was wondering if we need an option to disable syntax highlighting - I've added it as TODO by Im not sure if it will be useful

@okwasniewski perhaps we could leave the opening and closing ``` and just colorize the content? That would make it stand out more, and also be easier for copy pasting to markdown (a minor thing).

Ugh, I'm sorry @mdjastrzebski I forgot about this PR.. I guess by looking at https://github.com/callstack/ai-cli/pull/34 this solution wouldn't be valid after Ink get's merged. Should I close the PR and later on reimplement it?

No worries @okwasniewski.
We've added ink to be able to implement streaming responses, and overall better UI in the near future.
The chalk code in your PR might not work directly either ink, but on the other hand it also seems to use chalk, so perhaps there is some easy way to adapt it.

@okwasniewski Ink implemenation is stable now. If you have some free capacity, please adjust the PR to the current codebase.

I'm sorry I won't find time to finish this soon and don't want to block implementing this feature. If anyone else wants to add this feature feel free to use my implementation as a base reference


Restructure project to deploy as kubernetes cluster

Currently the project structure is subdivided as frontend and backend when in fact we're aiming to create a cloud-based kubernetes cluster, which will require rearranging the various utilities within the codebase in accordance with that paradigm.

Created and pushed first set of changes that includes:

Deployment github action
data-fetch service
data-store service
folder structure refactor: all in services folder

I think we can close this one.


Question: how to determine the run mode at runtime?

I just want to add some switch at main process by run mode. My run mode means call "electron . " or run after distribution.
Thanks.

You can detect that by checking whether process.execPath is pointing to your app.


Environment variable ALARM_DEFINITIONS assumes EPICS alarms

Likely need to define separate variables for all types we support now: EPICS, simple, and stream rule alarms

We should also document the docker-entrypoint.sh environment variables in either the README or Wiki

Updated docker-entrypoint.sh to support passing file path to alarm-registrations file to import - inline definitions still limited though


System output and custom dataset

Hello,
I read through the AlignedReID paper and decided to give the system a try. I'm new to the person re-identification field and I wanted to check how good it performs on some personal pictures.
When dealing with object detection systems, we usually input a picture and the system returns a class. In the case of person re-identification, I'm a bit lost. So here are my questions:

From what I understand, the system's input is a set of N pictures. But what is its output? Does the system calculates distances betwen all the images and yield the couple of images that has the lowest distance? From the following picture, I'd say that the output is the triplet loss, but it doesn't make sense to me ...

Let's say that I have 1000 images from my own dataset (not used to train the network). By loading the pre-trained weights of the system, and given 1 picture of my dataset, will I be able to retrieve all the pictures of the similar person using your code?

Thanks in advance!

Yes. Calculate distances betwen all the images and yield the couple of images that has the lowest distance.

Yes. However, there exists domian bias between different datasets. Maybe the performance will be worse.


Use plt instead of plots?

It looks like convention is to use import matplotlib.pyplot as plt whereas for
DS8 we've been using import matplotlib.pyplot as plots. Is there a reason for
this? If not, I don't see that we need to break from convention since
most docs online use plt (such as the official matplotlib docs).
@papajohn @henryem @deculler

plt is fine.
On Wed, Dec 23, 2015 at 6:07 PM, Sam Lau<EMAIL_ADDRESS>wrote:

It looks like convention is to use import matplotlib.pyplot as plt
whereas for
DS8 we've been using import matplotlib.pyplot as plots. Is there a reason
for
this? Otherwise, I don't see that we need to make this renaming change
since
most docs online use plt (such as the official matplotlib docs
http://matplotlib.org/users/pyplot_tutorial.html).
@papajohn https://github.com/papajohn @henryem
https://github.com/henryem @deculler https://github.com/deculler
—
Reply to this email directly or view it on GitHub
https://github.com/dsten/datascience/issues/167.

Cool, will use that from now on.


Add option to create CodeTour from blank file/folder

We want to start enabling scenarios where instructors begin to create lessons right within CodeTour, as opposed to an existing codebase.
To start doing this, developers need an option to add a CodeTour to a blank file, or to start a CodeTour step without code. Currently, this option does not exist.
We can look into injecting steps or tours dynamically into blank files; when the file or repo is blank, the CodeTour tree can present the option to start a tour or step.

What’s your thoughts on the expected behavior in this case? Currently, when you create a new tour, the underlying file is written to the opened directory. But if you don’t have a directory opened, then where would we want to store the tour file?
Also, if you don’t have a folder open, the only kind of steps you could add are “content steps” (since there aren’t any folders or files to annotate). So would we want to somehow make this workflow smoother, by detecting the empty workspace and auto-adding a new content step when you create a tour?

I think at the very least, the CodeTour tab needs to be available for the developer to see and click. If there's no directory open, is there the possibility of creating the .tours folder in a cache and dumping it when the developer finally saves or commits?
We could also force save before creating a tour step. That would probably be the simplest route right? Or we could pop up a notification saying that the user would have to save in a directory to create a tour step?

While we could create the tours directory in a cache, if the developer didn’t have a folder open, they wouldn't be able to add steps to any files, since the tour steps need to be associated with a folder.
The current workaround for this would be to simply create an empty directory and open it in VS Code. That seems potentially sufficient, since the tour author would need to create a Git repo to store their tours anyways?

Can CodeTour create that empty directory and opening in VS Code, along with creating that initial step? I think this is the first foray into creating CodeTours from blank files or tutorials.
I'm going to reprioritize this item since it looks like we're getting traction in other areas right now, not necessarily creating tutorials from scratch. I think the new workflow is unnecessary since we are getting traction for an existing workflow. :)

Yeah we could definitely create and open the new directory. That said, I agree with your reprioritization, so we can maybe hold off on doing anything here until we revisit this use case?

That sounds good to me.

I'm going to close this for now, since we aren't prioritizing this scenario. We can always re-open it if/once we hear more feedback 👍🏻


Unit tests fail in Github Actions on for MacOS platform

Github Actions uses older versions of OSX (11 and 12), and runs only on Intel-based macs.
The tests run fine when running locally on an M1.
Given that the dev team is mostly on newer M1 Macs, without immediate access to an Intel-based mac to reproduce the problem, we are going to "solve" the test failure by removing MacOS as a test platform target. Given the error message, I also strongly suspect the problem is in the Github Actions environment rather than actually being a Mac-related issue.
Creating this issue so we can circle back if we ever do decide it's important to get unit tests running on Intel macs, again.

Closing this. Fresh start.

Possibly related to #221

In case helpful: it looks like running export HNSWLIB_NO_NATIVE=1 before the install may work (#221)


[RESOLVED] Interface eth0(): High error rate (>2 for 5m)

Problem started at 16:24:29 on 2023.05.30
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Operational data: errors in: 1, errors out: 0
Original problem ID: 22979
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23483&eventid=22979

Problem has been resolved in 3m 0s at 16:27:29 on 2023.05.30
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Original problem ID: 22979


Irmin.clone_force behaves inconsistently across Irmin_mem and Irmin_git.FS when tag name has a space

With a store created via Irmin.basic (module Irmin_mem.Make), calls like this work fine:
Irmin.clone_force Irmin_unix.task (t "merge_pairwise: clone map") "update cache"

but with stores created via Irmin.basic (module Irmin_unix.Irmin_git.FS), such an operation hangs indefinitely.  Replacing update cache with update_cache results in the expected behaviour.
(I'm not necessarily expecting tag names with spaces to work properly on a Unix filesystem, but an error would be nice.)

(I'm not necessarily expecting tag names with spaces to work properly on a Unix filesystem, but an error would be nice.)

I agree but I'm not sure what to check exactly.

Thank you!

So I have decided to be ultra conservative and only allow a small number of ASCII characters in tag names. This can be changed by providing a different Tag.is_valid function.


BRD - UI: Table filters

issue: bcGov/entity#22569

filter table results with header options
set table to a fixed height
set sticky table header
add comments to useAffiliations composable
test filter options in useAffiliations composable
set loading table prop
set empty text in table

/gcbrun

Temporary Url for review: https://business-registry-dev--pr-17-1onmuwro.web.app

/gcbrun

Temporary Url for review: https://business-registry-dev--pr-17-1onmuwro.web.app


yaml.load(f) to yaml.load(f, Loader=yaml.FullLoader)

Describe problem solved by the proposed pull request
The widely used yaml has changed the API and forces to choose a Loader to avoid attacks from a yaml file. This made many application shouting the following:
/home/alexis/Tools/PX4.upstream/msg/tools/uorb_rtps_classifier.py:97: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.

Describe your preferred solution
I am proposing to use of FullLoader to keep the Yaml specs functionalities.
Describe possible alternatives
We can choose between the following loaders:

BaseLoader: Only loads the most basic YAML
SafeLoader: Loads a subset of the YAML language, safely. This is recommended for loading untrusted input.
FullLoader: Loads the full YAML language. Avoids arbitrary code execution. This is currently (PyYAML 5.1) the default loader called by yaml.load(input) (after issuing the warning).
UnsafeLoader (also called Loader for backwards compatability): The original Loader code that could be easily exploitable by untrusted data input.

Thanks @AlexisTM. Can you check the Jenkins failures?

@AlexisTM can you please rebase and check why Jenkins is failing? Thanks

Sorry for the delay. Thanks @TSC21 for the reminder.

The SITL test failed (performance wise)

[worse sentence]: I don't have the error, do we have to enforce the pyyaml version higher for the building process?
+ make validate_module_configs
Traceback (most recent call last):
  File "/tmp/jenkins/workspace/PX4_Firmware_PR-11910/Tools/validate_yaml.py", line 49, in <module>
    schema = load_yaml_file(schema_file)
  File "/tmp/jenkins/workspace/PX4_Firmware_PR-11910/Tools/validate_yaml.py", line 43, in load_yaml_file
    return yaml.load(stream, Loader=yaml.FullLoader)
AttributeError: 'module' object has no attribute 'FullLoader'
Makefile:438: recipe for target 'validate_module_configs' failed
make: *** [validate_module_configs] Error 123
script returned exit code 2

@AlexisTM @bkueng this is breaking the main Jenkins pipeline when it runs in master.

@dagar I suspect the build machines to use old dependencies where the safe load of pyyaml was not yet implemented.
The other possibility would be to use yaml.safe_load(stream) instead of yaml.load(f, Loader=yaml.FullLoader) which might have been implemented before the overload of the load function.

@AlexisTM exactly, I did it in https://github.com/PX4/Firmware/pull/12461.


ci: run e2e tests after approval

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #2568 into master will decrease coverage by 2.91%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2568      +/-   ##
==========================================
- Coverage   65.93%   63.01%   -2.92%
==========================================
  Files         195      200       +5
  Lines        9619    10064     +445
  Branches     1960     2021      +61
==========================================
  Hits         6342     6342
- Misses       3002     3446     +444
- Partials      275      276       +1

Impacted Files
Coverage Δ

...ges/amplify-graphql-types-generator/src/loading.ts
74.5% <0%> (ø)
:arrow_up:

...fy-appsync-simulator/src/data-loader/none/index.ts

...amplify-appsync-simulator/src/data-loader/index.ts

...y-appsync-simulator/src/velocity/util/map-utils.ts

...amplify-appsync-simulator/src/mqtt-server/index.ts
0% <0%> (ø)

...ages/amplify-appsync-simulator/src/server/index.ts
0% <0%> (ø)

...mplify-appsync-simulator/src/mqtt-server/server.ts
0% <0%> (ø)

...sync-simulator/src/velocity/util/dynamodb-utils.ts
0% <0%> (ø)

...mplify-appsync-simulator/src/mqtt-server/client.ts
0% <0%> (ø)

.../amplify-appsync-simulator/src/mqtt-server/util.ts
0% <0%> (ø)

... and 2 more

Continue to review full report at Codecov.

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


Add maintenance page

Context
We need to be able to put up a maintenance page containing static content.
Changes proposed in this PR

Static content for maintenance page
Make recipes that reroute traffic inside GovUK PaaS.  Rerouting traffic via Frontdoor caused down time.

Guidance for review

The maintenance page can be put up and taken down in dev with the following shell commands: make dev enable-maintenance and make dev disable-maintenance
The recipes can't be tested in prod, review the variables used to ensure the correct routes are changed

 Deployable 'maintenance' state


⚠ Bofrost.lu has degraded performance

In dc09898, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2063 ms

Resolved: Bofrost.lu performance has improved in 772b3ab.


load an openapi spec from the web

Currently the generate command expects the OpenAPI spec to be a file path. It should also work if passed an HTTP or HTTPS URL.
In other words, loadFile() in specification.js should notice when the path is a URL and load the URL.

This ended up being a bit harder than I expected. Im documenting why here, and then we can decide what to do.
The generate command takes a source and a destination. When the code was originally written there was no concept of fetching a file from a remote URL. The source as is, creates a full path from your local machine to the file in the repo.
for example,  kameronkales/desktop/counterfact/petstore.yaml
However, if you try to feed a URL into the generate command you end up with something like this
kameronkales/desktop/counterfact/https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/petstore.yaml
Internally counterfact tries to split the full path into multiple pieces. One of which being a basePath. That works fine when the file is local, but blows up when it builds a reference like this
kameronkales/desktop/counterfact/https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0
and
petstore.yaml
After talking with Patrick, we're going to remove basePath as it exists today and refactor to use this.
https://swagger.io/docs/specification/using-ref/
This will let us handle remote URIs and local the same. Im going to create a separate story to rip out basePath and get working with this new URI concept, then come back to this once it works.

Thanks! This will be a lot easier after #118


Build is failing with Unfinished hook action(s) on exit: (proxyRemoteEntry) load "virtual:mf-REMOTE_ENTRY_ID"

Is there a way to debug the error?
x Build failed in 2.20s
error during build:
Unexpected early exit. This happens when Promises returned by plugins cannot resolve. Unfinished hook action(s) on exit:
(proxyRemoteEntry) load "virtual:mf-REMOTE_ENTRY_ID"

With VSCode you can run scripts in debug mode and you can use the breakpoints to proceed step by step.

Is there a way to debug the error?
x Build failed in 2.20s
error during build:
Unexpected early exit. This happens when Promises returned by plugins cannot resolve. Unfinished hook action(s) on exit:
(proxyRemoteEntry) load "virtual:mf-REMOTE_ENTRY_ID"

“Could you provide a reproducible example? I have a general idea of the cause of this error, but I don’t know how to reproduce it.“ @mshima

@zhangHongEn I've found the error.
The exposed modules was not found.
Execution vite correctly shows the error message.
Happened when migrating from Webpack which does not require vue extension in exposes.

@mshima Can we add a warning in the terminal for this?

@mshima Can we add a warning in the terminal for this?

Would be nice to fail with correct error message.

Can we throw the correct one?


i2c-dev not enabled

@FooDeas thanks for adding a i2c option. After reboot I see i2c_bm2708 enabled:
$ lsmod | grep i2c
i2c_bcm2708             4834  0

But the acual devices in /dev/ are not created. After some searching it seems i2c_dev also needs to be enabled. To accomplish this I had to add the following lines (not sure if i2c-bm2708 is also needed there), compared to an otherwise empty file apart from the comments, to /etc/modules:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

i2c-dev
i2c-bm2708

After reboot the devices are available:
$ lsmod | grep i2c
i2c_bcm2708             4834  0
i2c_dev                 5859  0

$ sudo i2cdetect -l
i2c-1	i2c       	3f804000.i2c                    	I2C adapter

Is there something we can do about this? Shouldn't the dev devices always be available?
ps. apparently I should also change this option to increase performance (for this device):
dtparam=i2c_arm=on,i2c_baudrate=400000

Thanks for reporting this!
Adding "i2c-bm2708" to /etc/modules isn't needed. But i'll add "i2c-dev". I have to check permissions/user group, too.
The I²C baudrate will get a separate option.

awesome, thanks.

It would be nice if you could test a4bd728485cba4754d9a5e6ba32f98a340cd91f9.
Note that the directory structure for customizing has changed, too.
Please do some changes to the devel branch if you think the documentation for this is not meaningful.

Will test it asap, probably tomorrow.

Works fine now (with upcoming 1.5.0)!


Boot loop after building with platformio

I attempted to follow your various directions, but using platformio rather than the Arduino IDE.
I made this platformio.ini:
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
lib_deps =
    sqfmi/Watchy  ; @ 1.4.1
    https://github.com/tzapu/WiFiManager.git  ; #2.0.3-alpha
    https://github.com/GuruSR/SmallRTC.git
    https://github.com/GuruSR/SmallNTP.git
    https://github.com/GuruSR/StableBMA.git
    https://github.com/GuruSR/Olson2POSIX.git
lib_ldf_mode = deep+
board_build.partitions = min_spiffs.csv

I did NOT do any of the dark border modifications. (That should be okay, right?) This ended up giving me these package versions (from pio pkg list):
Resolving esp32dev environment packages...

Guru Meditation Error: Core  1 panic'ed (InstrFetchProhibited). Exception was unhandled.

Did I miss an important step somewhere?

Give me a few to validate those libraries that you added, to see if I run into any issues with any of them.

Try here with the information on how to get the backtrace output:  https://github.com/platformio/platform-espressif32/issues/105
See if that helps, I'm looking at the versions you compiled against the ones I have, maybe more than one library is causing grief.

(Also if you tell me what you've got I can try pinning different versions. Whatever's easiest for you.)

I ran into that a while ago, but I rolled back and solved the issue, but I'm not sure what library may be causing that.  Oddly, your backtrace has odd line numbers.

This is what I have currently:
Adafruit GFX 1.10.14
Adafruit BusIO 1.9.1
DS3232RTC 2.0.0
GxEPD2 1.4.5
NTPClient 3.2.0
PCF_PCF8563 1.0.3 - Yours has no version, using I'm using: https://github.com/orbitalair/Rtc_Pcf8563
WiFiManager - 2.0.11-beta - SAME, but it is no longer being used, shouldn't be included.
Not sure if you can roll back down for those to see if that makes any difference.

Aha -- turns out platformio's framework-arduinoespressif32 ver 3.20003.220626 is arduino-ESP32 2.0.3, aka the one you already knew was crashy!
To get 2.0.2, I selected framework-arduinoespressif32 ver 3.20002.220503.
Now I still see the periodic restarts
[    33][E][GSR.ino:151] setup(): ENTERING setup
[    34][E][Watchy_GSR.cpp:214] init(): ENTERING WatchyGSR.init
[    34][E][Wire.cpp:159] begin(): Bus already started in Master Mode.
[    39][E][Watchy_GSR.cpp:279] init(): BEFORE SRTC.init
[    47][E][Watchy_GSR.cpp:281] init(): AFTER SRTC.init (type=2)
[    51][E][Watchy_GSR.cpp:2365] _bmaConfig(): BEFORE SBMA.begin (RTC type=2)
[  1511][E][Watchy_GSR.cpp:2371] _bmaConfig(): BEFORE SBMA.defaultConfig (RTC type=2)
[  1573][E][Watchy_GSR.cpp:2374] _bmaConfig(): BEFORE SBMA.enableFeature
[  1689][E][Watchy_GSR.cpp:2376] _bmaConfig(): AFTER SBMA.enableFeature
[    33][E][GSR.ino:151] setup(): ENTERING setup
[    34][E][Watchy_GSR.cpp:214] init(): ENTERING WatchyGSR.init
[    34][E][Wire.cpp:159] begin(): Bus already started in Master Mode.
[    33][E][GSR.ino:151] setup(): ENTERING setup
[    34][E][Watchy_GSR.cpp:214] init(): ENTERING WatchyGSR.init
[    34][E][Wire.cpp:159] begin(): Bus already started in Master Mode.
[    33][E][GSR.ino:151] setup(): ENTERING setup
[    34][E][Watchy_GSR.cpp:214] init(): ENTERING WatchyGSR.init
[    34][E][Wire.cpp:159] begin(): Bus already started in Master Mode.

However, it doesn't try to re-init SRTC, and doesn't run into detection failures.
Reading more about the ESP32's sleep handling, it looks like going back through setup() is expected after deep sleep. What's not expected are all the attempts to re-initialize things like the RTC. It looks like on 2.0.3, for some reason, the return from esp_sleep_get_wakeup_cause() isn't always as expected, causing WatchyGSR to go back through the "hard reset" path, which runs into problems sometimes. (Why? And why only sometimes? Unclear.)

(Closing, since the problem is solved! I'll send you a PR with a good platformio.ini to help others.)


Add mima see it fail

set up mima, it fails currently, and travis should see that.

@non @coltfred what do you think?
this adds mima and gets it green. I'm open to other names. I'm not crazy about overloading with flags in any case, so adding a new method name seems fine to me.

👍 to this. LGTM


hide the plus for geral visitors

add hasTicketStub function to check whether a user has a stub. Allows for the hiding of ui elements for general peeps
@dominictarr could you check the function. I did some quick reading around defensive coding for checking for rull/false/undefined and understand that I could use typeof and that the way I have done it can throw reference errors.
Would be interested in what could have been done better. I also opted for adding another function rather than adding if statements to the existing canAcess function. Whats your thoughts on this - more single responsability but less dry.
cher

Yup, this is good.

work, merged.


Cocoapods UI issues

On the main page, the cocoapods icon is not used in the components list.

On the component page, there is no icon and the version number does not have a link to the component like the other types do.

On the harvest page, the search box disappears when you select cocoapods as the type.

The fix for "the version number does not have a link to the component like the other types do" is in the service.  See https://github.com/clearlydefined/service/pull/934.


Move Fantomas out-of-process []

Hey Alex, this looks interesting! Could you elaborate a bit more on what the main idea is here?
I assume the end goal is to be more flexible in updating Fantomas.
Would the user be able to bring their own version of Fantomas?
I'm asking because I was messing around with a similar idea.
I had in mind to be able to start a Fantomas process as a language server and keep it running.
Editor tooling could then connect to this and format on demand.
The idea is that the version pinned in the tool manifest of the user could be used by the editor.
Perhaps some synergy is possible between this PR and my experiment.

Hi @nojaf!
This pull request contains the preparatory part required to run Fantomas and its dependencies in a separate process (currently the bundled by default version).
Yes, in the future it is planned to add support for pinned custom Fantomas version in a separate PR (:
Thanks for the link to your experiment, I'll take a look at this.

@DedSec256 Could you also please add tests or either/both backend and frontend?
The start looks good!


[Fortran] Add Fortran Forum (organized by the Fortran Market Development Organization) to the conference data tracker

Add Fortran Forum (organized by the Fortran Market Development Organization) with up-to-date information to the tracking spreadsheet in this repository.
Note: If for any reason an organizer refuses to answer questions, then we should add them to the tracking spreadsheet assuming they are not willing to sign the Speaker Engagement Agreement. They can always correct the information later, if it proves inaccurate.
Please find the primary link to Fortran Forum (organized by the Fortran Market Development Organization) then reach out to the organizer directly, and ask them the following questions:

Who organizes the conference, and what is the primary link to the organizer?
Is the organizer willing to sign the Speaker Engagement Agreement for each speaker who so requests?
Does the organizer provide a free ticket to speakers of the event?
To what extent will the organizer reimburse a speaker for expenses incurred in traveling to and delivering a talk?
In what circumstances would the organizer compensate speaker for their talk?

When you get the answers, please follow these steps:

Fork the speakers-in-tech/conference-data repository on Github.com.
Make changes to the README.md file using Markdown syntax.
Ensure that the changes are consistent with the existing format of the table, and that you insert data for new conferences alphabetically by conference name.
Save your changes and submit a pull request with a brief explanation of the changes you made.
If you are not the organizer, please explain how you acquired the information you are adding to the table.
Once your pull request is reviewed and merged, the changes will be updated to the main branch of the repository.

@ziexess all are bounty elligible?


Single parameters file for image-like drivers

This PR refactors the  filenames and filep structures to only include members specific to each driver, image-like drivers now only use a single PARAMETERS file.
closes #386

closed and moved to develop branch.


Required React prop allows undefined

Given the following React component definition:
class TestComponent extends React.Component {
  props: {
    label: string,
    value: string,
  };

  render(): React.Element<any> {
    const { label, value } = this.props;
    return {label}value;
  }
}

The following throws, as expected:
<TestComponent label="marklar" />

However, the following erroneously passes flow checks:
<TestComponent label="marklar" value={undefined} />

As does the following:
const props: { label?: string, value?: string } = {};
<TestComponent {...props} />

This also happens for union types that include void. For example, this throws no error even though it might result in an undefined prop value:
const stringUnionFn = function(x: string): (string | void) {
  return x.length > 5 ? x : undefined
}

/* ... */

<TestComponent label="marklar" value={stringUnionFn(3)} />

Whereas this does throw an error:
const numberUnionFn = function(x: number): (number | void) {
  return x > 5 ? x : undefined
}

/* ... */

<TestComponent label="marklar" value={numberUnionFn(3)} />

(Maybe types work correctly, as the return value is detected as possibly being null)

Seems like a bug in $Diff which is used for the types of a React Class.

@nmn Do you think you could direct me to which file that's defined in? And if you have any ideas what might be causing the issue? I'm happy to work on a fix but I don't know the flow source well.

Ouch, can we prioritize a fix for this? Just had some end-user errors due to a stray undefined :(

Fixed with<EMAIL_ADDRESS>


#117 moved opencollective-postinstall from devDependencies to dependencies

Pull Request Test Coverage Report for Build 217

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.655%

Totals

Change from base Build 216:
0.0%

Covered Lines:
222

Relevant Lines:
222

💛  - Coveralls


Clean up schema syntax

Context
The data field in schemas are not needed and only there because of how node is implemented.
Proposal
Remove the data field from schemas and make schema parser smart enough to parse fields at the top level. Will keep data field around for backwards compatibility for a few minor releases with deprecation warning.
Work

[x] schema parser should parse all fields as top level fields
[x] all schema documentation should be updated
[x] the starting schema's should be updated
[ ] add deprecation warning for old style schemas

shipped in 0.4.5


Multi-version documentation

Currently only master documentation is published in pages

released package does not sync with published doc
do not keep doc of previous package releases

Fixed by

https://github.com/ITISFoundation/osparc-simcore-clients/pull/51


Random Battle: Item Updates

Prevent Focus Sash and Life Orb with Multiscale.
Add Custap Berry as a low-priority item for Sturdy + Explosion

Fixed.

Speaking of Sturdy, I got a Sturdy Avalugg today against a Regigigas and lost with confusion hax. I was thinking that maybe it should be rejected on bulky Pokemon because it isn't very useful. Own Tempo would have been very useful.

It's hard to define criteria for whether Sturdy should be rejected, though. Avalugg still has paper Special Defense, so if someone had an Own Tempo Avalugg against a Typhlosion and lost because of a Fire Blast to the face, they would be equally salty and would have wished for Sturdy. This would be especially true if Typhlosion had taken some damage beforehand and would be within Avalugg's kill range.

84 SpA Choice Specs Typhlosion Fire Blast vs. 84 HP / 84 SpD Avalugg: 548-648 (176.7 - 209%) -- guaranteed OHKO

84 Atk Avalugg Earthquake vs. 84 HP / 84 Def Typhlosion: 178-210 (64.9 - 76.6%)

Yeah I thought of that too.


coding guidelines docs - removed extra explenations to where global…

… css variables are.

Updated filename to where global css files are at __variables

Related issue

Closes #1441
Scope of work

Screenshots of visual changes

Checklist

[x] No commented blocks of code left
[ ] Run tests and docs
[x] Self code-reviewed
[x] Changes documented

If applicable:

[ ] I followed composition rules for my component
[ ] I tested the component in most common device sizes (can be tested in Storybook from viewport addon in top menu)

Please note that there is folder shared/styles/variables which contains all the variables declaration files, and there is _variables.scss which united them. I'm closing this PR since it's not valid. Thanks


Fix dangling batch normalization for twisted Edwards curves

Description
It is discovered that Pedersen commitments are failing. After some debugging, we confirm that it is because normalize_batch, different from batch_normalize, returns the results instead of applying the mutation directly.
This PR fixes so.

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[x] Targeted PR against correct branch (master)
[x] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
[x] Re-reviewed Files changed in the Github PR explorer

N/A:

[ ] Wrote unit tests
[ ] Updated relevant documentation in the code
[ ] Added a relevant changelog entry to the Pending section in CHANGELOG.md

There appears to be another bug regarding Montgomery representations. Will do in a separate PR.


Problems with videoplayer seek- to

see thread at
https://groups.google.com/forum/#!category-topic/mitappinventortest/bhrTMzmfQs4

This can easily be an issue with the particular asset. I have seen broken mp4's in other contexts that exhibit similar behavior.

Hi guys,
Our code doesn't have any problem.
The intervals used by that user are just too small that seekTo() doesn't work. I wrote a native android app with  to test how large an interval needs to be in order to "jump" to next scene. And it took around 500ms to do so.
(for some reasons, emulators can't play mp4 files so I tried a 3gp)
I came across this before. It's because seekTo() can only jump to  and each keyframe occupies a certain amount of time (probably depending on the compression format). And this amount of time is not as small as few milliseconds.
I haven't tried it but I think audio files can do better but our Player component doesn't have seekTo() for user

Ethan, thanks!
I updated the documentation
PR #694

Hi @halatmit, from the discussion above looks like this bug has been resolved and the PR merged but the issue is still open, thanks and waiting for your reply.

@wadleo
Thanks fro catching this.
Closing.


Doccumentation Image error

Doccumentation image display error
In the "README.rst" file, there is an attempt to showcase two images, but unfortunately, they are currently unreachable.
Links:
Build status
Python-check
Conda - Package Version

My suggestion:

To update the links
To remove the links all together

Thank you for letting me known. The links for these badges are not working yet. This will be fixed as soon as the package reached it beta status (hopefully within the next two to three weeks).

If you tell me what were the exact badges, I can create a pull request with the necessary modifications

Thank you for the suggestion. I plan to establish a continuous integration pipeline once the alpha version of the project is complete. This will allow us to integrate 'Build Status' and 'Python Check' badges for enhanced monitoring and quality assurance. Following this, we'll proceed with adding the 'Conda' badge as well.

All badges are working now


QuickSelect

https://en.wikipedia.org/wiki/Median_of_medians

Codecov Report

Merging #49 (728c9b4) into main (12f37af) will decrease coverage by 0.05%.
The diff coverage is 97.91%.

@@            Coverage Diff             @@
##             main      #49      +/-   ##
==========================================
- Coverage   98.57%   98.51%   -0.06%
==========================================
  Files          65       66       +1
  Lines         492      540      +48
  Branches       30       38       +8
==========================================
+ Hits          485      532      +47
- Misses          7        8       +1

Impacted Files
Coverage Δ

core/src/main/scala/algo/util/quickselect.scala
97.91% <97.91%> (ø)

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 12f37af...728c9b4. Read the comment docs.


Upgrade tools package and typescript

Relies on https://github.com/microsoft/vscode-azuretools/pull/958

I assume that the timeout is specific to Windows since it's slow and I didn't suddenly break bindings.  But let me know if that is not the case 😬


fix: draft release ci

This is totally untested, I hope it works. Just replaced the broken step with a theoretically equivalent modern version

Can we also switch this to use softprops/action-gh-release? Seems like a better action anyways.
Example here: https://github.com/JJL772/centos7-diskless-builder/blob/pr-github-workflows/.github/workflows/build.yml

Done


Add Geotilegrid aggregations

See https://www.elastic.co/guide/en/elasticsearch/reference/7.8/search-aggregations-bucket-geotilegrid-aggregation.html

This aggregation is already implemented (https://github.com/olivere/elastic/commit/8ecadd25cf718ca8074917558507534a9a1f362a)


NW6 | Bakhat Begum | Module-HTML-CSS | Feature/Multipage-clone | Sprint 4| Week 4

It was a great experience working with CSS Grid.

Hi Eliza, thank you for your work. I have incorporated your comments and made all necessary changes.


Refactor oauth code: simplify request handling

This PR simplifies OAuthClient code.
RequestHandler is no longer an inner class. This was required for it to get access to the RequestHandlerWrapper instance creating it, but this made the code hard to read.
This commit changes this by:

Removing RequestHandlerWrapper: its complete and error_message attributes have been moved to OAuthClient as _request_finished and _request_error_message.

Making RequestHandler.__init__() take an OAuthClient instance in addition to the arguments it already accepts.

Making RequestHandler update the new OAuthClient attributes added in 1)

Passing to HTTPServer a partial of RequestHandler class, initialized with the OAuthClient instance.

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

Comparison is base (278fdcc) 91.90% compared to head (16324d7) 91.88%.

Files
Patch %
Lines

ggshield/verticals/auth/oauth.py
25.58%
32 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #847      +/-   ##
==========================================
- Coverage   91.90%   91.88%   -0.03%
==========================================
  Files         168      168
  Lines        6991     6984       -7
==========================================
- Hits         6425     6417       -8
- Misses        566      567       +1

Flag
Coverage Δ

unittests
91.88% <25.58%> (-0.03%)
:arrow_down:

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

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


Workbench › List: Keyboard Navigation settings polish

Explain better in setting value description what each setting does.
Filled https://github.com/Microsoft/vscode/issues/66893. In case that does not get fixed consider adding word "filter" to the settings description

I used to navigate up and down with j and k, after the latest update 1.31 it doesn't work any more, none of the options give what I want. is there a way to revert to the way it used to act before the update?

@a-eid are you using any extension for those keybindings or are they custom assigned by you?

@bpasero I use VSCodeVim.

@a-eid on which version are you, did you update to 1.0.7 at least?

@bpasero I'm at 1.0.8.

@a-eid and in which tree are you seeing this issue?

what do u mean which tree? @bpasero

@a-eid you said "I used to navigate up and down with j and k", do you mean the file explorer in the side bar?

@bpasero yes.

it buffers what I type up top to the right, playing with the workbench.list.keyboardNavigation option does yield different results, but not the one I'm used to.

Ok thanks, I am confused why you hit this, I thought this was fixed via https://github.com/VSCodeVim/Vim/blob/master/CHANGELOG.md#v107-2019-02-02 (https://github.com/VSCodeVim/Vim/pull/3432)

@a-eid I had the same issue, fixed it by choosing "simple" in Workbench › List: Keyboard Navigation

Same issue here. The conflict is very annoying if you use the keyboard to navigate files. But I'd like to be able to turn on filtering because it's useful.
Maybe an option to configure a trigger would be a good way to fix this?

I'm sure a lot of users find this feature useful and kudos to the devs for making it happen for them, but in the future can I ask that new features like this PLEASE be opt-in by default instead of opt-out?  Like several of the users here, having it enabled by default really threw off my workflow, causing frustration. I customized my own keybindings to allow me to navigate the Explorer using Vim NERDTree-style shortcuts and this feature caused confilcts with it.
Thanks for all the great work!


virtualbox installation and configuration

There seems to be ridiculously many ways of installation and configuration of virtualbox, so it's a good idea as a future record to keep track of what went well.

Default version available on Xenial today is 5.0. How to install from a custom ppa should be done.
However, I see the version is still 5.0 even though I specified 5.2...
sudo add-apt-repository "deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib"
sudo apt-get purge virtualbox-5.2
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
sudo apt install virtualbox-5.2
sudo apt-get purge virtualbox-guest-utils
sudo apt-get install virtualbox-ext-pack
sudo apt-get purge virtualbox-guest-utils
sudo apt-get autoremove
apt-cache policy virtualbox-5.2
apt-cache policy virtualbox
sudo apt purge virtualbox-5.2
sudo apt-get purge virtualbox
sudo apt-get autoremove
sudo apt-get install virtualbox-5.2
sudo apt-get install virtualbox-ext-pack

Nvm. After repeating purge and install a few times, somehow 5.2 got instlaled.
$ sudo apt-get purge virtualbox-5.2
$ sudo apt-get purge virtualbox
$ sudo apt-get install virtualbox-5.2
$ apt-cache policy virtualbox-5.2
virtualbox-5.2:
  Installed: 5.2.2-119230~Ubuntu~xenial
  Candidate: 5.2.2-119230~Ubuntu~xenial
  Version table:
 *** 5.2.2-119230~Ubuntu~xenial 500
        500 http://download.virtualbox.org/virtualbox/debian xenial/contrib amd64 Packages
        100 /var/lib/dpkg/status
$ apt-cache policy virtualbox
virtualbox:
  Installed: (none)
  Candidate: 5.0.40-dfsg-0ubuntu<IP_ADDRESS>
  Version table:
     5.0.40-dfsg-0ubuntu<IP_ADDRESS> 500
        500 http://us.archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages
     5.0.18-dfsg-2build1 500
        500 http://us.archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages

Turned out installing virtualbox-ext-pack  via apt-get installs virtualbox, which explains why the default version of virtualbox gets installed. I don't know why 5.2 didn't start though from Ubuntu's app chooser panel.
$ sudo apt-get install virtualbox-ext-pack
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
  libsdl-ttf2.0-0
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  virtualbox virtualbox-qt
Suggested packages:
  vde2 virtualbox-guest-additions-iso
The following packages will be REMOVED:
  virtualbox-5.2
The following NEW packages will be installed:
  virtualbox virtualbox-ext-pack virtualbox-qt
0 upgraded, 3 newly installed, 1 to remove and 1 not upgraded.
Need to get 0 B/21.5 MB of archives.
After this operation, 98.8 MB disk space will be freed.
Do you want to continue? [Y/n] n

So install virtualbox-ext-pack manually https://askubuntu.com/a/25600/24203

Splitting tickets per issue works better on issue tracker, so closing with the updated title.


New "Natural" Edit Mode | Leveraging a Secondary Small Fast-Apply Model

Issue
Hi Aider Team,
I've released a new Fast-Apply model to help apply code to local file: Fast-Apply Model on Reddit.
Although it's currently not practical due to its slow performance locally and high costs if deploy, I believe it's an improvement over diff/whole modes.
Please check out the discussion and let me know what you think.
Thank you very much for the great package!
Version and model info
No response

Thanks for trying aider and filing this issue.
You should be able to use aider's architect mode set an editor model to use this. Can it follow aider's very simple whole edit format?


delete get_timezone and APP_TIME_ZONE

get_timezone is not needed: settings.TIME_ZONE can be used and is guaranteed to exist and be valid. The fallback of APP_TIME_ZONE, despite it should never happen since TIME_ZONE necessarily exist, is misleading: nowhere in Django the default timezone is America/New York (it was the default parameter for the project generation years ago and it's not the case anymore, see the doc https://docs.djangoproject.com/en/5.0/ref/settings/#std-setting-TIME_ZONE).
Still a draft currently. Don't mind the "parallelize test runs" commit.

The time zone function was a dirty fallback to set it to "America/New York" by default, since that's the one I needed. I'm pretty sure I put a TODO somewhere in the code to implement this the right way and remove the dirty code, but I didn't remember to do it.
I need to find a way to allow others to merge if the tests passed (I can't see if they were executed). Let me know when I can merge (once it's no longer a draft).

I can't see if they were executed

Normally you should, once the workflow run has been granted. Btw, test seem to not run on this MR, any idea why?

I've been reading GitHub's documentation here and there, can't seem to find the reason why the tests are not running. I thought by adding the the pull request target condition in the workflow it would work but apparently not :
name: Tests

on:
  push:
    branches-ignore:
      - 'main'
  workflow_dispatch:
  pull_request_target:
    types: [assigned, opened, synchronize, reopened]
    branches-ignore:
      - 'main'

I want to review and double-check some things, I'll tell you soon, probably tonight.

And the test job keeps not running and that's really a pain, I can't work efficiently without tests runs on my PR. It seems like we are hitting a not-so-uncommon corner case of Github, there is Github discussion on the subjects here. It seems to be related to CI job name and branch protection rules of the Github repo (which I can't see), would you please give one more try? Sorry and thank you.

Yes, I'll check it out. I agree it's annoying. I'm wondering if adding you as collaborator (if you want it too) would solve the problem or if more permission would be required.

@deronnax I tried updating the workflow name from "tests" to "testing" and change the name in the branch rule as explained in the link in your comment and updated the settings so anyone can see the worklow and have write and read permission, but it still shows here as "Waiting for status to be reported". I tried creating a new account and added it as a collaborator, and it has the right permissions needed to see the worklow, launch them and it has the push rights directly into the repository. So, if you're interested, I can add you, but I'm gonna need the email address you used in your github account. Once added you can remove the comment if you don't want your email address to show here.

I think you can invite me with just my handle, @deronnax . OK for being part of the repo, until we figure out this problem at least.
Yes indeed tests ran well, but since I had some test failures locally, I wanted to be extra careful.

I sent the invitation.

btw, how did you know for the fork?

2 reasons:

GitHub has stats for the repo where you can see how many fork a repo has
I participated in other repositories (golang mostly) and I had to fork to be able to send merge request.


Lower CPU usage

@barambani noticed with S3 module tamer uses 100% cpu.
I suspect because of
https://github.com/laserdisc-io/tamer/blob/2fff351e57f6abc86f0e2ba27e4c863e39d1fb55/core/src/main/scala/tamer/kafka/Kafka.scala#L126
More evidence comes from dumping the fibers in a random moment:
#64 (14m871s871268ms)
   Status: Running()
Fiber:Id(1613749779114,64) was supposed to continue to:
  a future continuation at zio.ZIO.forever(ZIO.scala:686)

Fiber:Id(1613749779114,64) execution trace:
  at zio.ZIO.forever(ZIO.scala:686)
  at zio.ZIO.unit(ZIO.scala:2014)
  at log.effect.LogWriterConstructor$$anon$1$$anon$2.write(LogWriterConstructor.scala:31)
  at tamer.kafka.Kafka$$anon$1.runLoop(Kafka.scala:66)
  at zio.ZQueue$$anon$4.takeAll(ZQueue.scala:627)
  at zio.ZIO$.effectSuspendTotal(ZIO.scala:2662)
  ...

Do you think this is the problem?
Should we solve it by using take, which suspends, instead of takeAll that continuously returning an empty list?

As discussed offline, let's try take.


Can I change placeholders 'true' and 'false' to different values?

Hello there! I'm trying to figure out how to change placeholders values from default true and false to something like 'enabled' and 'disabled'.
By default the code looks like this
PVP:     %pvp% and the output is PVP: true or PVP: false.
I want to have PVP: Enabled and PVP: Disabled output but I have no idea how to do that because it uses html and also it doesn't support Placeholders from other addons. Is there a way to do that without changing the code of the plugin?
Thank you!

Figured it out. It was pretty hard using APIs but I managed to do it.


ppx attributes on polymorphic variants get pretty printed away

We (@bsansouci @sgrove) were playing with interfacing with webGL yesterday and ran into this.
external foo : something => ([`array_buffer<EMAIL_ADDRESS>12353] | `array_something_buffer<EMAIL_ADDRESS>1231232132]]) => unit = "foo" [@@bs.send];

pretty prints to
external foo : something => ([`array_buffer | `array_something_buffer ]) => unit = "foo" [@@bs.send];

@bobzhang ^

Hitting this with the BuckleScript example:
external readFileSync :
  name:string ->
  ([ `utf8
   | `my_name<EMAIL_ADDRESS>"ascii"]
   ]<EMAIL_ADDRESS>->
  string = ""
  [@@bs.module "fs"]

Goes to:
external readFileSync : name::string => [ | `utf8 | `my_name]<EMAIL_ADDRESS>=> string =
  "" [@@bs.module "fs"];

I'll fix it today.

@sgrove PR is awaiting review 🏊

This one can be closed (resolved by #1109).
cc @chenglou

Thanks!


Camera-Capture for directory of Images.

Hello. I think this will be a quick issue to solve. I have been using the camera capture tool with a live camera feed to train detection models, but I think it would be more convenient for me if I could take pictures somewhere else and then just load the directory of images. How would I do this? Does camera-capture only work for live video feeds? If so, is there a tool that works for static images where I can load in images and put the bounding boxes? Thank you.

Hi @IsaiahOdunze, yes that camera-capture tool only works for live video feeds - for annotating existing images/video, I'd recommend using CVAT tool and exporting from it to Pascal VOC format.


Request : Get back to disable controller option please.

Hello JackD83!
Thanks to your great jobs.
I have a request.
I have been using ALVR with index controller and some trackers. In Alvr alpha 5, I can disable couclus controller, but Now I can't. So I have to remove battery every time for using ALVR.
Can you add option for disable controller?
Thank you in advanced.

The option was removed during the refactoring of the controller input to directly use SteamVR without the FreePie lib.  I'm not sure if I should support this use case, but pull requests are always welcome.
Out of curiosity: How did you get the controllers working along side ALVR anyway? I did not know that two drivers can run at the same time. What about the calibration quest<->index controller?

Hello JackD83,
You can use 2 VR system, changing steamvr setting file to activeMultipleDrivers=true in C:\Program Files (x86)\Steam\steamapps\common\SteamVR\resources\settings\default
and calibrate by OpenVR SpaceCalibarate.

Oh wow, that’s some process to get them working. Personally I don’t like the controller that much.
I will see what I can do about the quest controllers, should be a small change. I’m currently a little busy at work, but I will come back to it

@ShawnMayer I get a weird HMD offset when using Vive controllers. Do you get this? If so, how did you fix it? #114


WIP: 212 sandbox option 3

This is not really a working demo, but I tried working on it so figured I'd push it up. Mostly I spent time fighting with Javascript over how to handle protypical inheritance (I'm used to Python classes so kept expecting to be able to treat some of this the same).
@ostermanj and @ptgott FYI for discussion

Since I've merged #232 as 'option 2', shall we make this an 'option 3'? How would you describe its relationship to the other two options (where option 1 is the super-rough sketch based on the whiteboard conversation and option 2 is the mostly working MVC pattern)?

@ptgott I moved this into option 3. I'm not sure how much is worth using from this, but we could have it as an option until we finalize approach. This one was intended to be a clean from-scratch implementation of the whiteboard sketch with a 'hello world' example. I hit a couple JS challenges so didn't get as far as I'd hoped.

Closing in favor of @ostermanj 's way better method


ajax call on menu item click or any way to add id to item.

I want to call a javascript function when sidebar item click.

Okay, so what did you do? Where did it go wrong? This is a "question" we can't really help you with...

forget everything I want to add id to a menu item.


Fix compilation errors caused by function declarations without parameters

This commit addresses the following compilation errors:

Warnings were raised due to function declarations without parameters, which are deprecated in all versions of C.
Functions such as cjose_get_alloc(), cjose_get_alloc3(), cjose_get_realloc(), cjose_get_realloc3(), cjose_get_dealloc(), and cjose_get_dealloc3() were declared without a void parameter.
Modified these declarations and definitions by adding void to indicate no parameters, as required by modern C standards.

This change resolves the compilation errors when building with strict prototype checking (-Wstrict-prototypes).

[ 1871s] In file included from util.c:10:
[ 1871s] ../include/cjose/util.h:112:33: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
[ 1871s]   112 | cjose_alloc_fn_t cjose_get_alloc();
[ 1871s]       |                                 ^
[ 1871s]       |                                  void
[ 1871s] ../include/cjose/util.h:122:35: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
[ 1871s]   122 | cjose_alloc3_fn_t cjose_get_alloc3();
[ 1871s]       |                                   ^
[ 1871s]       |                                    void
[ 1871s] ../include/cjose/util.h:130:37: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
[ 1871s]   130 | cjose_realloc_fn_t cjose_get_realloc();
[ 1871s]       |                                     ^
[ 1871s]       |                                      void
[ 1871s] ../include/cjose/util.h:140:39: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
[ 1871s]   140 | cjose_realloc3_fn_t cjose_get_realloc3();
[ 1871s]       |                                       ^
[ 1871s]       |                                        void
[ 1871s] ../include/cjose/util.h:148:37: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
[ 1871s]   148 | cjose_dealloc_fn_t cjose_get_dealloc();
[ 1871s]       |                                     ^
[ 1871s]       |                                      void
[ 1871s] ../include/cjose/util.h:158:39: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
[ 1871s]   158 | cjose_dealloc3_fn_t cjose_get_dealloc3();
[ 1871s]       |                                       ^
[ 1871s]       |                                        void
[ 1871s] util.c:49:31: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
[ 1871s]    49 | static void cjose_apply_allocs()
[ 1871s]       |                               ^
[ 1871s]       |                                void
[ 1871s] util.c:86:33: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
[ 1871s]    86 | cjose_alloc_fn_t cjose_get_alloc() { return (!_alloc) ? malloc : _alloc; }
[ 1871s]       |                                 ^
[ 1871s]       |                                  void
[ 1871s] util.c:87:35: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
[ 1871s]    87 | cjose_alloc3_fn_t cjose_get_alloc3() { return (!_alloc3) ? cjose_alloc3_default : _alloc3; }
[ 1871s]       |                                   ^
[ 1871s]       |                                    void
[ 1871s] util.c:89:37: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
[ 1871s]    89 | cjose_realloc_fn_t cjose_get_realloc() { return (!_realloc) ? realloc : _realloc; }
[ 1871s]       |                                     ^
[ 1871s]       |                                      void
[ 1871s] util.c:90:39: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
[ 1871s]    90 | cjose_realloc3_fn_t cjose_get_realloc3() { return (!_realloc3) ? cjose_realloc3_default : _realloc3; }
[ 1871s]       |                                       ^
[ 1871s]       |                                        void
[ 1871s] util.c:92:37: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
[ 1871s]    92 | cjose_dealloc_fn_t cjose_get_dealloc() { return (!_dealloc) ? free : _dealloc; }
[ 1871s]       |                                     ^
[ 1871s]       |                                      void
[ 1871s] util.c:93:39: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
[ 1871s]    93 | cjose_dealloc3_fn_t cjose_get_dealloc3() { return (!_dealloc3) ? cjose_dealloc3_default : _dealloc3; }
[ 1871s]       |                                       ^
[ 1871s]       |                                        void
[ 1871s] 13 errors generated.
[ 1871s] make[1]: *** [Makefile:510: libcjose_la-util.lo] Error 1

the declarations have already been adapted in https://github.com/OpenIDC/cjose/pull/19/files ; your PR seems to modify the actual function calls as well, at least in util.c which is not portable


Installation help - Cant see folder

Hi, after installation, can't see the folders, only continually wave circle as below. Is error due to worker.service? Any error log we can use to troubleshoot?
Ubuntu 20.04
nginx/1.18.0
gunicorn (version 20.0.4)
papermerge v1.5.5

what does your nginx config look like?

It looks like client side/javascript error. What web browser you use ? Can you confirm if there are javascript errors?

Looks like it is solved after another run of ./manage.py collectstatic to copy the static files and clear my Chrome browser cache.
Thanks Eugen for this awesome project.

It looks like client side/javascript error. What web browser you use ? Can you confirm if there are javascript errors?
Yes there is 3 .map files missing, but the error still show after I have resolved it. Chrome.


Ensure that swift_package does not attempt to generate build files if they already exist

Example: https://github.com/realm/SwiftLint

Either I was mistaken or the Bazel files have been removed from SwiftLint.