Fix transaction creation and signing

Right now our inputs are all messed up. Outputs look kind of okay.
Here's a transaction generated from this script:
import bitcash
key = bitcash.PrivateKeyTestnet('cU6s7jckL3bZUUkb3Q2CD9vNu8F1o58K5R5a3JFtidoccMbhEGKZ')
key.get_unspents()
print(key.address)
print(key.unspents)
print(key.create_transaction(([('n2eMqTT929pb1RDNuqEnxdaLau1rxy3efi', 10000, 'satoshi')])))

Output:
 #$ python3 test.py
muUFbvTKDEokGTVUjScMhw1QF2rtv5hxCz
[Unspent(amount=79449086, confirmations=72047, script='76a914990ef60d63b5b5964a1c2282061af45123e93fcb88ac', txid='1b461db5a015397c6ff05f4ecdd4c190fff675382d10390aa373a79268f478fc', txindex=1)]
0100000001fc78f46892a773a30a39102d3875f6ff90c1d4cd4e5ff06f7c3915a0b51d461b0100000000ffffffff0210270000000000001976a914e7c1345fc8f87c68170b3aa798a956c2fe6a9eff88ac8211bc04000000001976a914990ef60d63b5b5964a1c2282061af45123e93fcb88ac00000000

Deserialized:
{
    "inputs": [
        {
            "address": null,
            "num_sig": 0,
            "prevout_hash": "1b461db5a015397c6ff05f4ecdd4c190fff675382d10390aa373a79268f478fc",
            "prevout_n": 1,
            "pubkeys": [],
            "scriptSig": "",
            "sequence":<PHONE_NUMBER>,
            "signatures": {},
            "type": "unknown",
            "x_pubkeys": []
        }
    ],
    "lockTime": 0,
    "outputs": [
        {
           "address": "1N8QYQNAD8PLEJjmCGGR8iN1iuR9yXtY1x",
            "prevout_n": 0,
            "scriptPubKey": "76a914e7c1345fc8f87c68170b3aa798a956c2fe6a9eff88ac",
            "type": 0,
            "value": 10000
        },
        {
            "address": "1ExJJsNLQDNVVM1s1sdyt1o5P3GC5r32UG",
            "prevout_n": 1,
            "scriptPubKey": "76a914990ef60d63b5b5964a1c2282061af45123e93fcb88ac",
            "type": 0,
            "value": 79434114
        }
    ],
    "version": 1
}

That was deserialized as mainnet so the addresses are wrong.
I ported this over from https://github.com/bjarnemagnussen/bit/tree/segwit, which is in turn a fork of ofek's bit library.
I am also using electron-cash as a reference: https://github.com/fyookball/electrum/blob/cash/lib/transaction.py
And I should probably understand this better: https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki
I dont know if it would make more sense to start with the original bit or the bit segwit branch. I think we need BIP-143 signatures and a 0x41 hash type for pay to public hash.
I am really lost on this. Would hugely appreciate help on this.
If you can get this library working (getting send() to work, ultimately), I'll pay you $300 USD equivalent of BCH.
Thanks,
Teran

@ofek, @fyookball, @bjarnemagnussen, wanted to let you know about the bounty in case you were interested. Thank you for your help already.

Since the segwit branch contains a lot of segwit soecific code I think that the cleanest way would be to start with ofek's bit branch and then change the signature generation algorithm found inside create_p2pkh_transaction with the bip-143 part of my segwit branch. BTW, ofek's original bit branch does not yet support multisig/p2sh.

Ah, heh. I guess that makes more sense then.
For me, I'm not worried about script hash, multisig, or anything like that.
I appreciate your feedback. If no one jumps on this today I'll probably try that tomorrow.
Thank you!

Library is now based on the original bit. Will work from there.

I tried to broadcast a transaction with electron-cash and it said FORKID had to be used. Understandable. I added that in and it says the same thing. Also with blockdozer it says I must use the FORKID. I am not sure if they are throwing a generic error message or if it's not working how I expect it to.
Judging by some older testing, it seems like multiple error types are possible: https://bitcoin.stackexchange.com/questions/63340/cannot-make-valid-bitcoin-cash-transaction/63345
I know I need to make it BIP-143, I am first wondering how I can inspect the signature and whether these error codes are generic or specific and something else is wrong.

I believe I've implemented in the logic. I am hardcoding sequence numbers as I don't know their purpose and everywhere I've seen has them set at 2^32.
In e12676675f3ff7690e4590a559da723edae1c9f8 I am able to generate transactions again. blockdozer says the SIGHASH_FORKID is bad, electron-cash says it's missing inputs.
Deserializing in electron-cash looks just fine. I don't know if any good utilities to inspect signatures with.
Would appreciate any help you can give.

i took a look at your transaction.py and it seems to define SIGHASH_FORKID constant and then never uses it ?

Thanks for taking a look. Yes, I have it defined as a stub. I will use it in the future but Python 3 doesn't have bitwise operations on bytes objects. Instead, I am setting 0x41 instead of 0x01 as the hash type.

I now have just a CHECK(MULTI)SIG error which I am working through, looking at the spec closely.

@bjarnemagnussen is this correct? https://github.com/bjarnemagnussen/bit/blob/segwit/bit/transaction.py#L444
I can see that you have scriptCode_len before scriptCode. That does not line up with the specification from what I can tell: https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki
Not sure if there's a bug or if I am missing something.

Pushed a couple small tweaks and am stopping for the night. No luck so far. Signature is still bad.
I found the "official" Bitcoin Cash signature doc which looks identical to BIP-143 from what I can tell.
https://github.com/Bitcoin-UAHF/spec/blob/master/replay-protected-sighash.md

Hey @teran-mckinney. Regarding the scriptCode_len apperaing before scriptCode: The reason is that scriptCode is used in the way that P2SH redeemscript are used in scriptSigs. The redeemscript is provided as a single element in a script with a simple push of 25 bytes. You can see that the scriptCode you reference to in the link under point 5 starts with the script push opcode of 25 bytes (0x19 in hex) and is part of the sciptCode. The scriptCode_len contains exactly this value 0x19. I hope that makes sense?

you could also create the same TX in electron cash and step through to see where your code diverges

Thank you, to both of you. I'm narrowing down the only difference to the hashOuputs. The source is the same, the hash is different. I think there's some slight nuance I'm missing.

It works!!!
Thank you all for your help.
Real pain to debug. Took me a few days. I'm glad to have this working so I can start using Bitcoin Cash now.


Extracted webgl implementation of Vertex and Index buffer into separate modules

Related to: https://github.com/playcanvas/engine/issues/3986
This is part of refactoring plan, where all webgl specific functionality will move to graphics/webgl, allowing the WebGPU implementation.

first step is to refactor IndexBuffer and VertexBuffer, and the shared buffer functionality has moved to WebglBuffer (which will also be used to implement UniformBuffer in the future)
interfaces are private and are subject to change

I'm OK enough with this to approve it. But I still have a few thoughts swirling in my head:

What can we do to address class cyclic dependencies. Right now the design reinforces this cycle between the Device and the Buffer classes. For example, the WebGL buffer must modify state on the device when it's destroyed. Could that be an event? Or could the global state of the current bound buffer be managed in the WebGLVerterBuffer class?
I'm still not sure how we plan to ship a WebGPU flavor to devs. Do we pursue the 'all in one' approach or have two engine versions?
Are we concerned about lots of inheritance on performance?
I'm a bit undecided on naming. The WebGL spec itself already defined names like WebGLTexture and WebGLBuffer. I do like keeping the WebGL style of capitalization. But the API itself uses some of these names already and we'll probably cause problems if we reuse them. Yeah, just pointing out I'm still thinking about that. Obviously, these classes are private so not a huge deal.

I'm OK enough with this to approve it. But I still have a few thoughts swirling in my head

I don't see a problem with classes on the same level in the architecture (in this case inside graphics) calling each other - this is a common practise in js, c#, c++ - it does not create a circular dependency, as only type for type-checking needs to be imported.

I see two main directions here:
A) (ideal) We work out this PR (https://github.com/playcanvas/engine/pull/3949) plus follow up PRs, related to creating a lite version of the application. This would allow the device creation to be moved from the Application class itself, into a user code. And so the user could import only WebglGraphicsDevice, construct an instance and assign it to the ApplicationLite. Or they create only Webpu version, or both based on support of the device. And the tree-shaking will only add those modules to the user app during the build.
B) (backup) We ship multiple builds of the engine. Most likely "webgl" and "webgl + webgpu" flavour initially.

Only slightly, but I thought about it as well. Most of the functionality requiring calls to various parts of the inheritance chain would be limited to the resource creation / updates, which is not frequent. The hot path, where the resource is used for rendering would usually only access properties directly in the Impl classes. But we'll need to keep an eye on this for sure.

We could also adopt some shorter names, perhaps:

WglTexture and WgpuTexture, or only GlTexture and GpuTexture, even though this one is likely confusing.
Or change the order ... so TextureWebGl, TextureWebGpu - I'm pretty keen to this one.


Mistake generation

merge

done

Hi, this was meant for my own fork. Sorry for the inconvenience. I will submit a better version of the code changes in the future, but this code change is currently unstable which is why I deleted it.

No worries! Good luck with your project!
Ben Chou @.***> 于2024年2月27日周二 12:13写道：

Hi, this was meant for my own fork. Sorry for the inconvenience. I will
submit a better version of the code changes in the future, but this code
change is currently unstable which is why I deleted it.
—
Reply to this email directly, view it on GitHub
https://github.com/lukewys/chamber-ensemble-generator/pull/5#issuecomment-1967201718,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGXJZ7YPXY3VIB5AK3ZCSFTYVYH4JAVCNFSM6AAAAABD3LBSJKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRXGIYDCNZRHA
.
You are receiving this because you commented.Message ID:
@.***>


confirmation popin closes too early

The confirmation popin closes then calls the server if instructed to do so.
This means that the user will thought that everything will be ok even if something goes wrong server side.
This means also that unmount behavior will be done before the action has taken place, which is annoying if the confirmation popin was about a status change on data displayed behind the modal window

As seen together, this is a case where you  should provide your own component, extending either the Popin or the ConfirmationPopin, choose what suits you better.
We won't provide a way to defer the popin closing, as it does not fit in our rules of interface simplicity. However, feel free to provide your own that will be used on your project.


Outdated assert using from_mistral

[x] This is actually a bug report.
[ ] I am not getting good LLM Results
[ ] I have tried asking for help in the community on discord or discussions and have not received a response.
[ ] I have tried searching the documentation and have not found an answer.

What Model are you using?

[ ] gpt-3.5-turbo
[ ] gpt-4-turbo
[ ] gpt-4
[ ] Other (please specify)
[x] Any mistral model

Describe the bug
A clear and concise description of what the bug is.
Mistral recently released their new APIs.
https://github.com/mistralai/client-python?tab=readme-ov-file

File ~/miniconda3/envs/lumen/lib/python3.10/site-packages/instructor/client_mistral.py:35, in from_mistral(client, mode, **kwargs)
     26 def from_mistral(
     27     client: mistralai.client.MistralClient | mistralaiasynccli.MistralAsyncClient,
     28     mode: instructor.Mode = instructor.Mode.MISTRAL_TOOLS,
     29     **kwargs: Any,
     30 ) -> instructor.Instructor | instructor.AsyncInstructor:
     31     assert mode in {
     32         instructor.Mode.MISTRAL_TOOLS,
     33     }, "Mode be one of {instructor.Mode.MISTRAL_TOOLS}"
---> 35     assert isinstance(
     36         client, (mistralai.client.MistralClient, mistralaiasynccli.MistralAsyncClient)
     37     ), "Client must be an instance of mistralai.client.MistralClient or mistralai.async_cli.MistralAsyncClient"
     39     if isinstance(client, mistralai.client.MistralClient):
     40         return instructor.Instructor(
     41             client=client,
     42             create=instructor.patch(create=client.chat, mode=mode),
   (...)
     45             **kwargs,
     46         )

AssertionError: Client must be an instance of mistralai.client.MistralClient or mistralai.async_cli.MistralAsyncClient

To Reproduce
Steps to reproduce the behavior, including code snippets of the model and the input data and openai response.
import os
import instructor

from pydantic import BaseModel
from mistralai import Mistral

# enables `response_model` in chat call
client = Mistral(api_key=os.getenv("MISTRAL_API_KEY"))

# patched_chat = instructor.patch(create=client.chat.stream_async, mode=instructor.Mode.MISTRAL_TOOLS)

patched_chat = instructor.from_mistral(client, mode=instructor.Mode.MISTRAL_TOOLS)

class UserDetails(BaseModel):
    name: str
    age: int

resp = await patched_chat(
    model="mistral-small-latest",
    response_model=instructor.Partial[UserDetails],
    messages=[
        {
            "role": "user",
            "content": f'Extract the following entities: "Jason is 20"',
        },
    ],
    stream=True
)
async for message in resp:
    print(message)

Expected behavior
A clear and concise description of what you expected to happen.
Not crash
Screenshots
If applicable, add screenshots to help explain your problem.

   from mistralai import Mistral

    s = Mistral(
        api_key="x",
    )
    client = instructor.patch(
        create=s.chat.complete_async,
        mode=instructor.mode.Mode.JSON,
    )

    response = await client(
        model="mistral-large-latest",
        messages=[],
        response_model=Iterable[Accounts],
    )

Meanwhile, you can do it like that

@ahuang11 , this should have been fixed in the latest version. Just make sure to use the use_async flag because we need that to determine if you're using it async or non-async

Thanks. I think the original example is fixed, but there's still an issue with streaming/create_partial:
import os
from pydantic import BaseModel
from mistralai.client import MistralClient
from instructor import from_mistral, Mode

class UserDetails(BaseModel):
    name: str
    age: int

# enables `response_model` in chat call
client = Mistral(api_key=os.environ.get("MISTRAL_API_KEY"))

instructor_client = from_mistral(
    client=client,
    model="open-mistral-7b",
    mode=Mode.MISTRAL_TOOLS,
    max_tokens=1000,
)

resp = instructor_client.messages.create_partial(
    response_model=UserDetails,
    messages=[{"role": "user", "content": "Jason is 10"}],
    temperature=0,
    stream=True
)

print(resp)

# output: UserDetails(name='Jason', age=10)


NodeJS 12 deprecation warning pollutes workflow annotations when this action is used

$sbj. It is scheduled to stop working by summer 2023. Hopefully, switching the value in action.yml will be enough.
Refs:

https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/
https://github.com/ansible-community/ansible-test-gh-action/issues/41

Can we have a release including this fix, please. 🥺

v2 is now targeting the Node16 runtime.

tyvm. unfortunately something appears to be wrong with the new release.
I tracked this issue https://github.com/test-summary/action/issues/18

Thanks I probably tagged the wrong branch in my haste.


Reduce redefinition of camel 3rd party dependencies

We have to redefine a number of camel 3rd party dependencies like this
        <!-- Camel version -->
        <version.apache.camel>2.14.1</version.apache.camel>

        <!-- Camel 3rd party versions for artefacts that are not defined in the BOM -->
        <version.apache.abdera>1.1.3</version.apache.abdera>
        <version.apache.activemq>5.10.0</version.apache.activemq>
        <version.apache.cxf>3.0.2</version.apache.cxf>
        <version.apache.lucene>4.6.1</version.apache.lucene>
        <version.apache.mina>2.0.7</version.apache.mina>
        <version.beanshell>2.0b5</version.beanshell>
        <version.hapi>2.2</version.hapi>

These should probably come from the camel BOM

Blocked by: https://issues.apache.org/jira/browse/CAMEL-8441


[BUG] SpanData validation failed for validator org.opensearch.test.telemetry.tracing.validators.AllSpansAreEndedProperly flakyness

Describe the bug
It seems like we have some failure scenarios that are not covered by tracing instrumentation framework, randomnly failing the validation checks:
java.lang.AssertionError: SpanData validation failed for validator org.opensearch.test.telemetry.tracing.validators.AllSpansAreEndedProperly/nMockSpanData{spanID='85028fb97ab9d4ee', parentSpanID='6bb0d2126212ce2e', traceID='75ff3affa0cc1c0c', spanName='dispatchedShardOperationOnPrimary', startEpochNanos=1801185791106, endEpochNanos=0, hasEnded=false, attributes={index=restart_while_indexing, refresh_policy=false, thread.name=opensearch[node_t0][write][T#1], bulk_request_items=1, shard_id=0, node_id=m8PJAwK_RzCo2kkho3PcxA}, stackTrace=[java.base/java.lang.Thread.getStackTrace(Thread.java:2450), org.opensearch.test.telemetry.tracing.StrictCheckSpanProcessor.toMockSpanData(StrictCheckSpanProcessor.java:63), org.opensearch.test.telemetry.tracing.StrictCheckSpanProcessor.onStart(StrictCheckSpanProcessor.java:34), org.opensearch.test.telemetry.tracing.MockTracingTelemetry.createSpan(MockTracingTelemetry.java:35), org.opensearch.telemetry.tracing.DefaultTracer.createSpan(DefaultTracer.java:94), org.opensearch.telemetry.tracing.DefaultTracer.startSpan(DefaultTracer.java:55), org.opensearch.telemetry.tracing.WrappedTracer.startSpan(WrappedTracer.java:43), org.opensearch.action.support.replication.TransportWriteAction$1.doRun(TransportWriteAction.java:231), org.opensearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:908), org.opensearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:52), java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144), java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642), java.base/java.lang.Thread.run(Thread.java:1583)]}

To Reproduce
./gradlew ':server:internalClusterTest' --tests "org.opensearch.discovery.ClusterDisruptionIT" -Dtests.seed=22054582CD9D3248

Expected behavior
The checks must always pass
Plugins
Standard
Screenshots
If applicable, add screenshots to help explain your problem.
Host/Environment (please complete the following information):

CI

Additional context

https://build.ci.opensearch.org/job/gradle-check/29293/testReport/junit/org.opensearch.discovery/ClusterDisruptionIT/classMethod/
https://build.ci.opensearch.org/job/gradle-check/30312/testReport/junit/org.opensearch.discovery/ClusterDisruptionIT/classMethod/

I will take a look. Thanks!

@mgodwan @rayshrey Need help here. This is flaky for a test case testRestartNodeWhileIndexing and span name dispatchedShardOperationOnPrimary. How can we make sure that the span is ended when node restarts?

@Gaganjuneja
It does not look like the test in itself is the issue. In my experiments, I can observe that the moment I turn of the update mappings from the test (by keeping the fields constant in the source), the tests starts to pass consistently.
The test is a bit hard to reproduce, and unable to do so with a seed.
This seems to be a very corner case, where we are unable to close the span in cases of mapping update during node restarts. The span stays in the memory without any execution thread associated to it.
There would be two options that we can follow from here on:

If it is possible to get an API from the request tracing framework, where we can ignore rare cases like such as node restarts from the span checks. (preferred)
Implement a way to drain the spans from cluster state for such cases.

@sarthakaggarwal97

If it is possible to get an API from the request tracing framework, where we can ignore rare cases like such as node restarts from the span checks. (preferred).

We can do that but it's very hard to make sure that its being used cautiously and not being exploited to pass the test reporting the underneath memory leak issues. @reta your thoughts here?

Thanks @sarthakaggarwal97

This seems to be a very corner case, where we are unable to close the span in cases of mapping update during node restarts. The span stays in the memory without any execution thread associated to it.

This is concerning behaviour: to me, such edge cases lead to the failure flows that are not instrumented. It would be great to understand while the restart (which basically should be stop / start sequence) keeps some components in "running" state (not aware of restart).

@reta @Gaganjuneja
Let me elaborate the issue with two cases of spans, one that was successful, and the one that failed. Would like to get your inputs on how we can solve this.
Happy Case
Let's consider upon active indexing, a new span 834f656ab29fa68d was created. The span was traced dispatchedShardOperationOnPrimary -> performOnPrimary -> executeBulkItemRequest
1> [2024-02-05T23:27:53,465][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Span in dispatchedShardOperationOnPrimary op: 834f656ab29fa68d
1> [2024-02-05T23:27:53,465][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Span in performOnPrimary 834f656ab29fa68d at doc id144
1> [2024-02-05T23:27:53,465][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Span in executeBulkItemRequest:834f656ab29fa68d ---> 144

It realises that we need to update the mappings
1> [2024-02-05T23:27:53,465][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Span in MAPPING_UPDATE_REQUIRED 834f656ab29fa68d

Reaches the onResponse of Mapping Updates
1> [2024-02-05T23:27:53,506][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Span in MAPPING_UPDATE_REQUIRED onResponse 834f656ab29fa68d
> [2024-02-05T23:27:53,509][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Span in waitForMappingUpdate onResponse 834f656ab29fa68d

Post mappings update, executor is attached, and the executeBulkItemRequest is continued
1> [2024-02-05T23:27:53,509][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Item Done Listener: 834f656ab29fa68d
  1> [2024-02-05T23:27:53,509][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Executor invoked: 834f656ab29fa68d
  1> [2024-02-05T23:27:53,509][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Executor invoked: 834f656ab29fa68d
  1> [2024-02-05T23:27:53,509][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Span in executeBulkItemRequest:834f656ab29fa68d ---> 144
  1> [2024-02-05T23:27:53,510][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] 834f656ab29fa68d Before notifyOnce
  1> [2024-02-05T23:27:53,510][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] 834f656ab29fa68d listener -->org.opensearch.telemetry.tracing.listener.TraceableActionListener@3d5c9507
  1> [2024-02-05T23:27:53,510][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Before Listener invoked 834f656ab29fa68d --- Thread[#246,opensearch[node_t1][write][T#1],5,TGRP-ClusterDisruptionIT] ---
  1> [2024-02-05T23:27:53,510][INFO ][o.o.t.t.l.TraceableActionListener] [node_t1] Closing span in onResponse: 834f656ab29fa68d --- Thread[#246,opensearch[node_t1][write][T#1],5,TGRP-ClusterDisruptionIT]
  1> [2024-02-05T23:27:53,510][INFO ][o.o.t.t.t.MockSpan       ] [node_t1] Span waiting for lock to be ended 834f656ab29fa68d  by Thread[#246,opensearch[node_t1][write][T#1],5,TGRP-ClusterDisruptionIT]
  1> [2024-02-05T23:27:53,510][INFO ][o.o.t.t.t.MockSpan       ] [node_t1] Span 834f656ab29fa68d ended by Thread[#246,opensearch[node_t1][write][T#1],5,TGRP-ClusterDisruptionIT]
  1> [2024-02-05T23:27:53,510][INFO ][o.o.t.t.t.MockSpan       ] [node_t1] 834f656ab29fa68d has endedThread[#246,opensearch[node_t1][write][T#1],5,TGRP-ClusterDisruptionIT]
  1> [2024-02-05T23:27:53,511][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Listener invoked 834f656ab29fa68d --- Thread[#246,opensearch[node_t1][write][T#1],5,TGRP-ClusterDisruptionIT] --- interrupted false--- java.base@21.0.2/java.lang.Thread.dumpThreads(Native Method)java.base@21.0.2/java.lang.Thread.getAllStackTraces(Thread.java:2521)app//org.opensearch.action.bulk.TransportShardBulkAction.lambda$performOnPrimary$5(TransportShardBulkAction.java:499)app//org.opensearch.action.bulk.TransportShardBulkAction$$Lambda/0x0000000800b317c8.run(Unknown Source)app//org.opensearch.core.action.ActionListener$5.onResponse(ActionListener.java:275)app//org.opensearch.core.action.ActionListener$7.onResponse(ActionListener.java:324)app//org.opensearch.core.action.ActionListener$6.onResponse(ActionListener.java:295)app//org.opensearch.core.action.ActionListener.completeWith(ActionListener.java:378)app//org.opensearch.action.bulk.TransportShardBulkAction$2.finishRequest(TransportShardBulkAction.java:573)app//org.opensearch.action.bulk.TransportShardBulkAction$2.doRun(TransportShardBulkAction.java:535)app//org.opensearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:913)app//org.opensearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:52)java.base@21.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)java.base@21.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)java.base@21.0.2/java.lang.Thread.runWith(Thread.java:1596)java.base@21.0.2/java.lang.Thread.run(Thread.java:1583)
  1> [2024-02-05T23:27:53,511][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] 834f656ab29fa68d After notifyOnce

Sad Case
Following the span based on the exception
MockSpanData{spanID='f0fcea06161f2245', parentSpanID='16086d76dc781c86', traceID='feef9ff717b884cc', spanName='dispatchedShardOperationOnPrimary', startEpochNanos=24261684302000, endEpochNanos=0, hasEnded=false, attributes={index=restart_while_indexing, refresh_policy=false, thread.name=opensearch[node_t1][write][T#3], bulk_request_items=1, shard_id=0, node_id=Lf0XLkkwScubTL0g8s-q_g}

Upon active indexing, a new span f0fcea06161f2245 was created. The span was traced dispatchedShardOperationOnPrimary -> performOnPrimary -> executeBulkItemRequest
  1> [2024-02-05T23:27:53,469][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Span in dispatchedShardOperationOnPrimary op: f0fcea06161f2245
  1> [2024-02-05T23:27:53,469][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Span in performOnPrimary f0fcea06161f2245 at doc id146
  1> [2024-02-05T23:27:53,469][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Span in executeBulkItemRequest:f0fcea06161f2245 ---> 146

It realizes that we need to update the mappings
  1> [2024-02-05T23:27:53,469][INFO ][o.o.a.b.TransportShardBulkAction] [node_t1] Span in MAPPING_UPDATE_REQUIRED f0fcea06161f2245

Before the span can come into the Mappings Update Response, the node is restarted
  1> [2024-02-05T23:27:53,481][INFO ][o.o.t.InternalTestCluster] [testRestartNodeWhileIndexing] Restarting node [node_t1]
  1> [2024-02-05T23:27:53,481][INFO ][o.o.t.InternalTestCluster] [testRestartNodeWhileIndexing] adding voting config exclusions [node_t1] prior to restart/shutdown

Then this span never comes into the Mappings Update Response.
However, the parent span ends post restart
1> [2024-02-05T23:27:53,601][INFO ][o.o.t.t.t.MockSpan       ] [node_t1] Span waiting for lock to be ended 16086d76dc781c86  by Thread[#224,opensearch[node_t1][generic][T#2],5,TGRP-ClusterDisruptionIT]
  1> [2024-02-05T23:27:53,601][INFO ][o.o.t.t.t.MockSpan       ] [node_t1] Span 16086d76dc781c86 ended by Thread[#224,opensearch[node_t1][generic][T#2],5,TGRP-ClusterDisruptionIT]

Attaching the logs: op.log
Span Trace Instrumentation: https://github.com/sarthakaggarwal97/OpenSearch/tree/test-flaky-tracer

@reta @Gaganjuneja
With this, I've a couple of questions as well:

Is it acceptable for the parent span to be closed before the children span are closed?
It would be great to understand why the restart -> Is there a way confirm the span stays in the memory without the executor being attached later on? I'm not sure on the lifecycle of spans during node restarts or start/stop.

@sarthakaggarwal97

Is it acceptable for the parent span to be closed before the children span are closed?

Yes, parent span can close before the children in the async scenarios.

Is there a way confirm the span stays in the memory without the executor being attached later on? I'm not sure on the lifecycle of spans during node restarts or start/stop.

Span stays in the memory till we call the endSpan. Definitely, in case of node stop (opensearch process stop) spans will be cleared. But the ideal state is where on the graceful shutdown we should close all the open spans. This is also a validation that we know how to react to the node stop/start from the outstanding indexing requests and we should have all the open requests/tasks/actions closed gracefully and release all the resources.

Yes, parent span can close before the children in the async scenarios.

Ack!

But the ideal state is where on the graceful shutdown we should close all the open spans.

Correct, but here's an interesting case.
The mapping update request R1 comes to cluster-manager node T1, and the node restarts. With this, or in cases where the node T1 fails to join the cluster, the data node will retry the request to the new cluster-manager node T2.
Post the node restart, the span of R1 will get cleared from the thread context, but will keep on staying in the spanMap of StrictCheckSpanProcessor.
Unless there is a way to gracefully drain the spans in case of node restarts in the tests, i.e remove from the spanMap for the tests, the validation will keep on failing. We need to have such a mechanism in place to fix this flaky test.

@sarthakaggarwal97 thanks for the detailed flow

Before the span can come into the Mappings Update Response, the node is restarted

Aha, so basically what we have here:

the transport action is being executed (MAPPING_UPDATE_REQUIRED)
node is going through a clean shutdown procedure (before restart)
the thread pool should be asked to be shutdown

the transport action should be interrupted (with onFailure) callback?

I will try to play with your reproducer to understand where we have a gap, thank you.


DOCS Remove archive download references

See https://github.com/silverstripe/silverstripe-framework/issues/9232.
Also simplifies composer instructions a bit:

Removes composer update --no-dev references, that's a bit of an edge case that people can just discover on getcomposer.org if they need it
Changed example from the unused and oudated silverstripe/forum to silverstripe/blog
Updated example versions to 4.x
Remove "updating composer" section, it now tells you if its out of date
Remove ss-auto-git-ignore module reference. The module hasn't been updated in ages, and it's much less necessary now that all relevant modules are on composer
Add .env example config to getting started docs, I didn't realise it was stripped from the default --prefer-dist composer install

I'd prefer to wait on https://github.com/silverstripe/silverstripe-framework/pull/9314 and rebase before moving this in, as we're right in the middle of a launch right now.

https://github.com/silverstripe/silverstripe-framework/pull/9314 is merged, does this mean this merge is good to go @unclecheese ?

Yup, a few conflicts to resolve, but all good now.

Spoke too soon.

Using SilverStripe with Composer

Using SilverStripe Silverstripe CMS with Composer
Separate PR :)


Updated installation location of DocumentDB Emulator

I installed the emulator today and it placed it in C:\Program Files\DocumentDB Emulator

Hi @petertirrell, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

@arramac @mimig1

@JennieHubbard, @mimig1 looks good to me. Please approve

@petertirrell - Thank you for making this correction! #sign-off

@petertirrell : Thanks for your contribution to the Azure documentation! The author, @arramac, has been notified to review your proposed change.

Only the author of the article can use the sign off comment to add the ready-to-merge label.

#signoff


Composing legalizations

It appears as if the legalization passes can't be composed to handle an input file consisting of TOSA and MHLO ops to EmitC.

This would allow using the argmax from TOSA with a primarily MHLO model.
Is it a requirement that the lowering to EmitC be a one-shot?

This is indeed not possible with the passes we have right now. Is this relevant for the work on your side?

I must correct my statement. The conversion passes are implemented as partial conversions and it is indeed possible to pass mixed input files. For example
func @mixed_dialects(%arg0: tensor<2xi32>) -> i32 {
  %0 = "mhlo.constant"() {value = dense<1> : tensor<2xi32>} : () -> tensor<2xi32>
  %1 = "tosa.const"() {value = dense<[3, 0, 1, 2]> : tensor<4xi32>} : () -> tensor<4xi32>
  %2 = emitc.call "func_a" (%0, %1) : (tensor<2xi32>, tensor<4xi32>) -> i32
  return %2 : i32
}

can be converted by passing --convert-tosa-to-emitc --convert-mhlo-to-emit to emitc-opt to
func @mixed_dialects(%arg0: tensor<2xi32>) -> i32 {
  %0 = "emitc.constant"() {value = dense<1> : tensor<2xi32>} : () -> tensor<2xi32>
  %1 = "emitc.constant"() {value = dense<[3, 0, 1, 2]> : tensor<4xi32>} : () -> tensor<4xi32>
  %2 = emitc.call "func_a"(%0, %1) : (tensor<2xi32>, tensor<4xi32>) -> i32
  return %2 : i32
}

Using emitc-translate or mlir-translate (from MLIR upstream) this can be translated to
int32_t mixed_dialects(Tensor<int32_t, 2> v1) {
  Tensor<int32_t, 2> v2 = {1, 1};
  Tensor<int32_t, 4> v3 = {3, 0, 1, 2};
  int32_t v4 = func_a(v2, v3);
  return v4;
}

This would allow using the argmax from TOSA with a primarily MHLO model.

The problem you were facing is that there is no conversion for tosa.argmax. I've created #279 to track this. Please re-open or fill a new issue if I got things wrong.

Ah I hadn't checked argmax support there. Thanks!


filter __constructor method

注册rpc方法时 过滤掉服务类的构造函数

[This message is created by hyperf-bot]
Hi @byphper, this is a READ-ONLY repository, please submit your Pull Request to hyperf/hyperf repository, this Pull Request will close automatically.


Write some documentation on how to write a karama plugin

I can't find any information about how to write a Karma plugin. The plugin page doesn't seem to tell you anything at all about how to write one, it just lists some example plugins.
Where's the docs for this?

We need some documentation for this. If anyone is up to it please feel free to submit a PR

The basic documentation for how to write a simple plugin has been added to http://karma-runner.github.io/latest/dev/plugins.html. It's likely not as elaborate as it could be, so feel free to open a new issue if something specific is unclear and we'll refine it further.


Homework/Assignment/Assessment 2

Topics covered ->
Java Fundamentals
Maven
Video Link -> https://video.drift.com/v/abhDqOa7Pe4J5cVSwayN4cM8vgUplFQAYbTXbEjqPOE/
Screenshots ->

Metric
Value

alert_status
:white_check_mark: OK

bugs
0

code_smells
26

reliability_rating
A (0 Bugs)Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)Note: A being best, E being worst

vulnerabilities
0

Metric
Value

alert_status
:x: ERROR

bugs
0

code_smells
8

reliability_rating
A (0 Bugs)Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)Note: A being best, E being worst

vulnerabilities
0

Metric
Value

alert_status
:x: ERROR

bugs
0

code_smells
7

reliability_rating
A (0 Bugs)Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)Note: A being best, E being worst

vulnerabilities
0


Update Node to 14.17.4 (LTS)

This action started failing because of some package that depends on Node 14.17.
See the discussion in https://github.com/gnosis/safe-react/pull/2606.

You can push to main for rapid testing next time 😉


Non Functional Characteristics Moha

Created a performance measuring test script, and measured the efficiency of most of the sorting algorithms found in the library. Created csv and excel table from it and then wrote a md file about the results
23b0e40eabb9893d14c062439401dad4c3dc7106
ab9fb29e695f3761b531e7c5fef93ba0785f222b
9764bbea5be5bf4e392bfb9a8405aaf9ec359e0a
d8256c1a70a4dd97626626b132f83071d15edba6


Repeatedly reads only first block

Trying to recover old DDS-90 tapes on a Sony DAT drive.  Keeps reading only the first 32K block.  I let it run on a tape and stopped it when the first 40+ .dd files were identical.  Tried a couple others and get either this or it just keeps increasing the test size and never reads a block.
Installed fresh Ubuntu 20.x and kept using apt-get until it ran.

Could it be the tape was written in variable block mode? If yes, tapeimgr doesn't support this (yet), see:
https://github.com/KBNLresearch/tapeimgr/issues/28
(BTW only seeing this issue now, as for whatever reason Github didn't send me a notification!)


Nice one!

Nice one @lovelle! Eslaver will be shared in RedisWeekly ( http://redisweekly.com ) tomorrow :rocket:!

Hello! Really appreciated! 👍
There is still a lot work to do (specially for documentation). Thanks for your collaboration @FGRibreau!
Bye 😄


Alternative for use of unstable library feature 'ptr_from_ref'

Using llama-cpp-2 = "0.1.45" as a dependency requires using nightly rust for the unstable feature 'ptr_from_ref'.
Example build error:
error[E0658]: use of unstable library feature 'ptr_from_ref'
   --> /Users/jeadie/.cargo/registry/src/index.crates.io-6f17d22bba15001f/llama-cpp-2-0.1.45/src/token/data_array.rs:362:22
    |
362 |         let mu_ptr = ptr::from_mut(mu);
    |                      ^^^^^^^^^^^^^
    |
    = note: see issue #106116 <https://github.com/rust-lang/rust/issues/106116> for more information

Is there any simple alternative for the underlying DataArray implementation? One alternative I have verified is at Jeadie/llama-cpp-rs#c271be.

I believe it's been stabilized, what version of rust are you using?

I think you are right. I am using cargo 1.75.0. The stablising PR is in 1.76.1. Will verify.


Package URLs table: not adding package_urls

Looking at https://pypi.org/project/urllib3/ it has four project URLs:

https://pypi.org/pypi/urllib3/json has:
"bugtrack_url": null,
...
"docs_url": null,
"download_url": "",
...
"home_page": "https://urllib3.readthedocs.io/",
...
"project_urls": {
  "Code": "https://github.com/urllib3/urllib3",
  "Documentation": "https://urllib3.readthedocs.io/",
  "Homepage": "https://urllib3.readthedocs.io/",
  "Issue tracker": "https://github.com/urllib3/urllib3/issues"
},

But the database only contains https://urllib3.readthedocs.io/:
$ sqlite3 'pypi.db' 'SELECT package_name, url FROM package_urls WHERE package_name = "urllib3" GROUP BY package_name;'
urllib3|https://urllib3.readthedocs.io/

Looks like the problem is here:
https://github.com/sethmlarson/pypi-data/blob/5056dede268daecee40a4b54fa14beb45bfc546c/main.py#L397-L410
We're adding resp["info"].get("home_page") to project_urls, and this is the one that is in the database.
But when looping this:
        for project_url in resp["info"].get("project_urls") or ():
            project_urls.append(project_url)

We're adding the "Code", "Documentation", "Homepage" and "Issue tracker" keys to the list instead of the URL values (and are then discarded when they fail to parse as URLs).

Thanks for opening this and https://github.com/sethmlarson/pypi-data/issues/14, would you be willing to contribute a PR fixing both of these?

Yep, will have a look!


Discussion: Video content & captioning

Having a discussion with Wes Breazell from DCC about open and closed captions.
Starting a thread to track this in case it's something we may include in guidance for content creators and web teams.
For cannabis.ca.gov, we have some video content for public information campaigns.
Curious what web standards we have already, and if that guidance needs a refresh with any changes in web standards.

@kkoryaka Hey Konstantin - we are wondering if this is something you have worked on with any accessible content, and if not, if you know anyone who has.

I've worked a little bit in video captioning at UC San Diego (so state adjacent). We hosted our videos on YouTube. Because these were scripted videos we created, we uploaded text docs with the transcripts. I then manually audited them to make sure the time notes were corrected. This was a while ago (2017 would have been the most recent time I would have done this work), so there may be better options.
YouTube also has automated captioning that you can turn on. Much like Google Translate, the quality can be variable.
I've started to see some mobile ads that have captions built into the video (probably to solve for people for me that have media sound turned off by default) and have even seen it on streaming commercials on services like Hulu. I've been intrigued with putting captions on by default as a way of normalizing them. (I increasingly meet people with hearing who always watch with captions for a host of reasons.)
That's as much as I know on this topic!

Twitter responses:

https://twitter.com/adrianogazza/status/1526544248182657024
https://twitter.com/danachis/status/1526533095477981184


coverlet 2.5.0 includes some xUnit code in reports

I noticed a weird regression when trying to update coverlet for the Stripe.net library.
With coverlet 2.4.0:
❯ dotnet test -c Debug -f netcoreapp2.1 src/StripeTests/StripeTests.csproj --no-build /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
Test run for /Users/ob/workspace/dotnet/stripe-dotnet/src/StripeTests/bin/Debug/netcoreapp2.1/StripeTests.dll(.NETCoreApp,Version=v2.1)
Microsoft (R) Test Execution Command Line Tool Version 15.9.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...

Total tests: 580. Passed: 580. Failed: 0. Skipped: 0.
Test Run Successful.
Test execution time: 5.1431 Seconds

Calculating coverage result...
  Generating report '/Users/ob/workspace/dotnet/stripe-dotnet/src/StripeTests/coverage.opencover.xml'

+------------+--------+--------+--------+
| Module     | Line   | Branch | Method |
+------------+--------+--------+--------+
| Stripe.net | 82.3%  | 74.4%  | 78.9%  |
+------------+--------+--------+--------+

Total Line: 82.3%
Total Branch: 74.4%
Total Method: 78.9%

With coverlet 2.5.0:
❯ dotnet test -c Debug -f netcoreapp2.1 src/StripeTests/StripeTests.csproj --no-build /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
Test run for /Users/ob/workspace/dotnet/stripe-dotnet/src/StripeTests/bin/Debug/netcoreapp2.1/StripeTests.dll(.NETCoreApp,Version=v2.1)
Microsoft (R) Test Execution Command Line Tool Version 15.9.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...

Total tests: 580. Passed: 580. Failed: 0. Skipped: 0.
Test Run Successful.
Test execution time: 6.1218 Seconds

Calculating coverage result...
  Generating report '/Users/ob/workspace/dotnet/stripe-dotnet/src/StripeTests/coverage.opencover.xml'

+--------------------------------------------------+--------+--------+--------+
| Module                                           | Line   | Branch | Method |
+--------------------------------------------------+--------+--------+--------+
| xunit.runner.reporters.netcoreapp10              | 1.1%   | 0.5%   | 5.1%   |
+--------------------------------------------------+--------+--------+--------+
| xunit.runner.visualstudio.dotnetcore.testadapter | 46%    | 36.1%  | 47.8%  |
+--------------------------------------------------+--------+--------+--------+
| xunit.runner.utility.netcoreapp10                | 23.1%  | 17.7%  | 25.7%  |
+--------------------------------------------------+--------+--------+--------+
| Stripe.net                                       | 82.3%  | 74.4%  | 78.9%  |
+--------------------------------------------------+--------+--------+--------+

+---------+---------+--------+---------+
|         | Line    | Branch | Method  |
+---------+---------+--------+---------+
| Total   | 52.1%   | 28.6%  | 63.3%   |
+---------+---------+--------+---------+
| Average | 13.025% | 7.15%  | 15.825% |
+---------+---------+--------+---------+

For some reason coverlet 2.5.0 includes code from xunit.runner in the coverage report.

Hi @ob-stripe, 2.5.0 comes with support for PDBs embedded in assemblies. This can easily be solved by adding /p:Include=[Stripe.*]* or /p:Exclude=[xunit.*]*

Nice! Thanks for the quick reply. Feel free to close the issue if this is expected behavior :)


Upgrade all @ledgerhq/* dependencies to version ^5

At the moment we have a mix between @ledgerhq/* version 5 and version 4 dependencies. Version 4 is pulled in by ledger-cosmos-js. It is unclear if version 4 and 5 are even compatible.
So https://github.com/Zondax/ledger-cosmos-js should get an update to version 5. Unfortunately issues are disabled over there. @jleni can you hear this? Can you enable issues for the repo?

In https://github.com/CosmWasm/dApps/pull/44 you see how those duplicate dependencies are installed in callers

@webmaster128 sorry for the confusion. It is a bit confusing that actual issues are being opened in the cosmos org. https://github.com/cosmos/ledger-cosmos-js/issues
We may eventually restructure that and move everything to Zondax as it is the original repo.

I will upgrade the dependencies later today, is that fine?

Ah, thank you. Yeah it would be nice to use one repo for development and issues, no matter which one. But the repo linked from https://www.npmjs.com/package/ledger-cosmos-js should allow opening tickets.

I will upgrade the dependencies later today, is that fine?

That would be highly appreciated, thanks!

Thank you @jleni for the quick update!


HSEARCH-2967 Remove internal classes from the Javadoc

https://hibernate.atlassian.net//browse/HSEARCH-2967
Downsides:

Links to internal classes from API/SPI will be dead links. There are some, unfortunately, for example from AbstractDocumentBuilder to TypeMetadata.
We will have some errors in the logs (example below) because some artifacts do not have any SPI or API, so their javadoc is not generated. When times come for the aggregation, their javadoc cannot be found and this error appears. Everything works fine though, since the error is ignored.

Example of errors:
[ERROR] Error fetching link: /home/travis/build/yrodiere/hibernate-search/serialization/avro/target/site/apidocs/package-list. Ignored it.

looks good! Merging..


Adding asynchronous video fetching with asyncio to make it faster

Adding asynchronous video fetching with asyncio to make it faster

Implemented. Works as it should, fast


Log and Doubles

I've basically made flok99's suggestions more stable, added his double2num and added my num2double and log functions.
This library really helps me in my project btw where I have to deal with tiny numbers like the Planck constant.


Update to 3.0 preview8.

The remaining work here is:

possibly a workaround for core-setup version numbers.
updating prebuilts.

Other than that I expect this to pass.

Windows started failing while Windows CI was down, logged https://github.com/dotnet/source-build/issues/1171 to fix.


Add support for HLS videos caching on android

@jawad-elchawich why did you close the PR ?

@freeboub opened by mistake here, its a duplicate


Logo/Color Scheme for kreait/firebase-php

I'm looking for someone who would be willing to contribute a nice looking logo and accompanying color scheme for this project.
It would be super if the logo had two variants: one with and one without a text. The text should include "Firebase" and "PHP" (but not "firebase-php") and it would be nice if the colors somehow related to the colors of the PHP logo and the Firebase logo.
The new logo would be featured at the top of the readme, the color scheme would be used for new documentation pages coming in the future, and your name will appear in the readme and documentation, including a link to your GitHub profile.
I'm not a designer, but I know what I like or don't like when I see it 😅. If you're interested in contributing your time and work, or have any questions concerning the logo and colors, please add a comment to this issue and/or hit me up on Discord at https://discord.gg/nbgVfty
Please note that I'm currently looking for a free contribution - as soon as I decide to pay for design work out of my own pocket (my work on this project is unpaid) I will reach out to designers myself and close this issue.
Thank you!
:octocat:

Hi, I'm interested in contributing to this.

Hey @MansiAyer! Thanks for reaching out - I've updated the OP with some more detail that came to my mind. I can't think of a hard requirement or no-go at the moment, so if you'd still like to take this on, let your creativity flow 😅.
Please feel free to add further comments if you have questions or if you want to make proposals, and/or join our Discord Server if you prefer a more interactive communication. Thanks again!

👍 Joining Discord


[bug]: invoke.bat menu default is wrong on consecutive commands.

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
24
What version did you experience this issue on?
3.0.0+rc2
What happened?
Let me just provide the steps, it will make things clear.

Launch invoke.bat, see the menu. The bottom of the menu says Please enter 1-10, Q: [1]
Press 8 for developer console. Type exit to get back to menu. The bottom of the menu says Please enter 1-10, Q: [1]
Hit Enter. The developer console opens again, despite the hint that a web interface will be the default.

Screenshots
No response
Additional context
No response
Contact Details
No response

I just checked on 3.6.3 and this bug is still there.

We reworked the launcher in v4.0.0 (maybe it was v3.7.0). Just tested, the default option works as it should now.


Add camera shutter times check

Please, review;
Also in the scope of this issue I suggest to change m_shutter_open_end_time default value to m_shutter_open_time and m_shutter_close_start default value to m_shutter_close_time; In this case there won't be any warnings if start/close values are set and open end/ close start values are missing;

Nice work, thank you!


navbar color

I used the "carousel" style and set the nav parameter to true so as wanted the navbar showed on my website but there's a brown background on the navbar and I would like to change it. Please how can I do it ?

This repository is going into very-low-maintenance mode and declaring backlog bankruptcy


Source code release?

Hi,
When can we expect the code to be released? Thank you!

As we are focusing on the CVPR project, we will spend some time cleaning up the code and release it at the end of November.

Looking forward to the release! Thank you for the super quick answer.


Static authentication code?

Need to check if the code ever will change. In my case it has never changed.

[ ] Factory reset, will it reset the code? (if there is a factory reset)

Not relevant anymore. My code hasn't changed, but it's different from other devices.


Use parameter dcId as wrapper to prevent NPE

Description
This PR...

Fixes: #8956

Types of changes

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

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

[ ] BLOCKER
[x] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

How did you try to break this feature and the system with this change?

@blueorangutan package

@rajujith, can you test your scenario with this?

@blueorangutan package

@DaanHoogland a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: ✖ el7 ✖ el8 ✖ el9 ✖ debian ✖ suse15. SL-JID 9437

@blueorangutan package

@DaanHoogland a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

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

Project coverage is 4.31%. Comparing base (e409c6d) to head (f053582).

Additional details and impacted files
@@             Coverage Diff              @@
##               4.19   #8986       +/-   ##
============================================
- Coverage     14.96%   4.31%   -10.65%
============================================
  Files          5373     363     -5010
  Lines        468989   29171   -439818
  Branches      61009    5089    -55920
============================================
- Hits          70191    1260    -68931
+ Misses       391019   27770   -363249
+ Partials       7779     141     -7638

Flag
Coverage Δ

uitests
4.31% <ø> (ø)

unittests
?

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.

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 9442

CLGTM.
Also done some testing:

Remove NFS secondary storage.
Create AWS Bucket, generate access and secret keys.
Add the S3 secondary storage bucket to ACS with success and no errors on logs.

@weizhouapache a [SL] Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-10055)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 48254 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8986-t10055-xenserver-71.zip
Smoke tests completed. 129 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_01_events_resource
Error
348.66
test_events_resource.py

[SF] Trillian test result (tid-10057)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 48458 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8986-t10057-kvm-centos7.zip
Smoke tests completed. 129 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_01_events_resource
Error
410.46
test_events_resource.py

[SF] Trillian test result (tid-10056)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server r8
Total time taken: 52438 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8986-t10056-vmware-67u3.zip
Smoke tests completed. 127 look OK, 3 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_01_events_resource
Error
344.92
test_events_resource.py

test_02_balanced_drs_algorithm
Error
438.45
test_cluster_drs.py

test_02_trigger_shutdown
Failure
341.66
test_safe_shutdown.py

@blueorangutan test alma9 vmware-80u1

@DaanHoogland a [SL] Trillian-Jenkins test job (alma9 mgmt + vmware-80u1) has been kicked to run smoke tests

[SF] Trillian Build Failed (tid-10069)

@blueorangutan test alma9 vmware-70u3

@DaanHoogland a [SL] Trillian-Jenkins test job (alma9 mgmt + vmware-70u3) has been kicked to run smoke tests

[SF] Trillian test result (tid-10071)
Environment: vmware-70u3 (x2), Advanced Networking with Mgmt server a9
Total time taken: 49703 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8986-t10071-vmware-70u3.zip
Smoke tests completed. 128 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_01_events_resource
Error
330.87
test_events_resource.py

test_02_balanced_drs_algorithm
Failure
132.44
test_cluster_drs.py

/me investigating the test_02_balanced_drs_algorithm failure.

@blueorangutan test alma9 vmware-70u3 keepEnv

@DaanHoogland a [SL] Trillian-Jenkins test job (alma9 mgmt + vmware-70u3) has been kicked to run smoke tests

[SF] Trillian test result (tid-10082)
Environment: vmware-70u3 (x2), Advanced Networking with Mgmt server a9
Total time taken: 50727 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8986-t10082-vmware-70u3.zip
Smoke tests completed. 128 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_01_events_resource
Error
369.36
test_events_resource.py

test_02_trigger_shutdown
Failure
346.47
test_safe_shutdown.py


icon_path configuration raises error

Hello @yuvipanda ,
Thanks for this nice package.
Unfortunately I cannot insert a svg icon.
I have used the following versions of your package and extension.
pip install jupyter-launcher-shortcuts==1.0rc1
jupyter labextension install<EMAIL_ADDRESS>
As soon as I use the icon_path argument in jupyter_notebook_config.py , an error is raised (without it works fine).
c = get_config()
c.LauncherShortcuts.shortcuts = {
    'MLflow': {
        'title': 'MLFlow',
        'target': "/user/test/proxy/5000/",
        'icon_path': '/home/test/mlflow_icon.svg' # icon does not work
    }
}

The logs give me the following error:
hub_1  | [E 2021-02-04 08:45:21.567 SingleUserNotebookApp web:1789] Uncaught exception GET /user/test/launcher-shortcuts/shortcuts (::ffff:<IP_ADDRESS>)
hub_1  |     HTTPServerRequest(protocol='http', host='localhost:8000', method='GET', uri='/user/test/launcher-shortcuts/shortcuts', version='HTTP/1.1', remote_ip='::ffff:<IP_ADDRESS>')
hub_1  |     Traceback (most recent call last):
hub_1  |       File "/usr/local/lib/python3.8/dist-packages/tornado/web.py", line 1704, in _execute
hub_1  |         result = await result
hub_1  |       File "/usr/local/lib/python3.8/dist-packages/jupyter_launcher_shortcuts/api.py", line 20, in get
hub_1  |         icon_url = ujoin(self.base_url, 'launcher-shortcuts', 'icon', sp.name)
hub_1  |     NameError: name 'sp' is not defined
hub_1  | [E 2021-02-04 08:45:21.641 SingleUserNotebookApp log:173] {
hub_1  |       "X-Forwarded-Host": "localhost:8000",
hub_1  |       "X-Forwarded-Proto": "http",
hub_1  |       "X-Forwarded-Port": "8000",
hub_1  |       "X-Forwarded-For": "::ffff:<IP_ADDRESS>",
hub_1  |       "Cookie": "jupyterhub-user-test=[secret]; _xsrf=[secret]; jupyterhub-session-id=[secret]",
hub_1  |       "Accept-Language": "de,de-DE;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
hub_1  |       "Accept-Encoding": "gzip, deflate, br",
hub_1  |       "Referer": "http://localhost:8000/user/test/lab?",
hub_1  |       "Sec-Fetch-Dest": "empty",
hub_1  |       "Sec-Fetch-Mode": "cors",
hub_1  |       "Sec-Fetch-Site": "same-origin",
hub_1  |       "Accept": "*/*",
hub_1  |       "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36 Edg/88.0.705.56",
hub_1  |       "Connection": "close",
hub_1  |       "Host": "localhost:8000"
hub_1  |     }

So the following line is buggy:
icon_url = ujoin(self.base_url, 'launcher-shortcuts', 'icon', sp.name)

In the history I see that @bsimpson53 has fixed this on 31 May 2020 commenting 'bad var name '.
This change does not seem to have made it into the final package.

Furthermore, the icon_path is ignored.
The dictionary item does not get the icon_url.
Therefore line
icon_url = ujoin(self.base_url, 'launcher-shortcuts', 'icon', sp.name)

needs to be replaced with
icon_url = ujoin(self.base_url, 'launcher-shortcuts', 'icon', ls.name)
item['icon_url'] = icon_url

Should now be resolved by https://github.com/2i2c-org/jupyter-launcher-shortcuts/pull/23!
@shberlin great bug report writeup btw!! :heart: :tada:


mp4 video is brighter color in iOS 16 simulator only

Bug
Platform
iOS
Environment info
Library version: 6.0.0-alpha.3
Steps To Reproduce

mp4 video is brighter color in iOS 16 simulator only

Thank you for the report, but I don't think anybody will investigate this issue ad it is an emulator issue ...
Can you provide a link to the video ? Or is it happening on all mp4 ?
To investigate I think you should test on a standalone avplayer first...

I have same issue
before iOS 16 It's works fine

The same happens on device. For example I have this color #FF6666 in a video and when it's being played I see #f3576a which is a totally different color. Why would that even happen?

Im also running into it, seems to be videos recorded with iphones.
I've enabled the following for those videos.
filterEnabled={true}
filter={FilterType.FADE}
Which looks better, but not ideal

Anyone able to solve it?


Reduce terms using normalizer

On 20 April 2015 Nik was writing on fstar-priv-club about adding a reduce primitive:

Explicitly triggering computations in the type-checker
(a) Should be able to prove this directly without calling SMT

 assert (reduce (quicksort (fun x y -> x < y) [3; 2; 1]) = [1; 2; 3])

I think this would be very nice to have, so I'm creating separate a issue for it.
In order to be useful in proofs we would need ways to finely control the reduction (as in Coq and SSReflect, although I'm not sure whether their design is optimal).

Some discussion on reduction also happened in #267.

FYI, this now works via Z3 (cf #427) in just a few milliseconds.
From Ftar.List.Tot:
let test_sort = assert (sortWith (compare_of_bool (<)) [3; 2; 1] = [1; 2; 3])

However, it is still not recommended to use Z3 to normalize larger terms.
For instance:
let test_sort = assert (sortWith (compare_of_bool (<)) [1; 2; 3; 4; 5; 6; 7] = [7; 6; 5; 4; 3; 2; 1])

takes around 15 seconds with fuel 20, and 8 elements times out even with 200 seconds.

Also, for the record: here's a discussion from slack
Meanwhile:
[12:34]
retaining
  match x with
  | 0  -> 1
  | _  -> 2 `op_Multiply` (pow2 (x-1))

[12:34]
is a better way to go
[12:35]
since with this definition, the solver can easily recover pow2_lem whenever it needs it
[12:35]
OTOH, the converse direction is not so easy: although we can prove pow2_lem, providing for Z3 to use automatically requires writing an SMTPat for it. And there is no good pattern to use without entering a matching loop.
[12:36]
So, the style I recommend is using the recursive definition of pow2 above
[12:36]
and then proving this lemma:
[12:36]
 (let p = pow2 x in
  match x with
  | 0  -> p=1
  | 1  -> p=2
  | 8  -> p=256
  | 16 -> p=65536
  | 31 -> p=2147483648
  | 32 -> p=4294967296
  | 63 -> p=9223372036854775808
  | 64 -> p=18446744073709551616
  | _  -> True)
#reset-options "--initial_fuel 100 --z3timeout 200 --max_fuel 100 --initial_ifuel 0 --max_ifuel 0"
let pow2_values x = ()

[12:36]
which takes 85seconds on my machine
[12:37]
and providing pow2_values with an SMTPat of pow2 x so the solver knows many common values of pow2 x for free
[12:38]
of course, with better support for F* proofs by normalization, that 85 seconds should be much faster
protz [12:41 PM]
and with proof by normalization we will have to remove --use_native_int
[12:41]
otherwise with that sort of functions that'll just overflow
nik [12:43 PM]
and with --use_hints, the proof of pow2_values goes through in 10seconds

assert_norm is getting close to what we want.
There are still some limitations:

We currently reduce only
Const.op_Addition
Const.op_Subtraction
Const.op_Multiply
Const.op_Division
Const.op_LT
Const.op_LTE
Const.op_GT
Const.op_GTE
Const.op_Modulus

Adding binary boolean operators is easy and unary operators is easy; will do that soon.

We don't yet reduce decidable equality ( = ). Given that we compile this to the platform's polymorphic equality, it's not exactly clear yet how best to do this on given the syntax of terms. Discussing with @aseemr  ...

Also: note that the normalization of primitive arithmetic is only sound in the OCaml version of F*.
F# support will come soon.

Looks very promising !
Can you give some intuition about how this works ?
For instance is there a maximum number of iterations ? What happens if I try an assert_norm query on a diverging function ?
Also what hypothesis are usable by the normalizer ? For instance if I write a 'cut' before an 'assert_norm' should I expect it to be used ?

An annoying limitation is that while top-level definitions are unfolded during normalization, this doesn't seem to be the case for local let definitions.
This works:
let l = [1;2]
let foo = assert_norm (List.Tot.length l == 2)

This doesn't:
let bar =
  let l = [1;2] in
  assert_norm (List.Tot.length l == 2)

Any idea why?

This is indeed annoying. I think the reason is that the generated VC is roughly of the form:
forall l. l = [1;2] ==> normalize_term (List.Tot.length l == 2)
The normalizer does not attempt to rewrite the term based on equality hypotheses, so the proof cannot complete within the normalizer.
We have talked about adding qualifiers to local lets, e.g.,
let bar =
   unfold let l = [1;2] in
   assert_norm (List.Tot.length l == 2)

Which would force l's definition to be inlined instead of using the equality hypotheses.
Another more general strategy is to use a rewriting tactic. See https://github.com/FStarLang/FStar/wiki/F*-tactics
This is beginning to become quite a real possibility in the timeline of a couple of months.
Meanwhile, adding the unfold qualifier on local lets could be an easy stop gap.

I now remember you explaining this to me, sorry for asking it again. It's documented now :)
I naively tried to use unfold hoping it would work for local lets. That would be a nice temporary solution.

Until we have unfold for local let definitions, @jkzinzindohoue found a workaround using unfold and normalize that works for the example that motivated the discussion:
unfold let p (#a:Type0) (init:list a) : GTot Type0 =
  normalize (0 < L.length init) /\ normalize (L.length init < UInt.max_int 32)

unfold let q (#a:Type0) (len:nat) (buf:buffer a) : GTot Type0 =
  normalize (length buf = len)

(** Concrete getters and setters *)
assume val createL: #a:Type -> init:list a -> StackInline (buffer a)
  (requires (fun h -> p #a init))
  (ensures (fun (h0:mem) b h1 ->
     let len = L.length init in
     len > 0
     /\ ~(contains h0 b)
     /\ live h1 b /\ idx b = 0 /\ length b = len
     /\ frameOf b = h0.tip
     /\ Map.domain h1.h == Map.domain h0.h
     /\ modifies_0 h0 h1
     /\ as_seq h1 b == Seq.of_list init
     /\ q #a len b))

let test (u:unit) : St unit =
  push_frame();
  let x = createL [0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y] in
  assert (length x = 20);
  pop_frame()

Probably nicer workaround, found by @nikswamy:
assume val createL: #a:Type -> init:list a -> StackInline (buffer a)
  (requires (fun h -> 0 < L.length init /\ L.length init < UInt.max_int 32))
  (ensures (fun (h0:mem) b h1 ->
     let len = L.length init in
     len > 0
     /\ ~(contains h0 b)
     /\ live h1 b /\ idx b = 0 /\ length b = len
     /\ frameOf b = h0.tip
     /\ Map.domain h1.h == Map.domain h0.h
     /\ modifies_0 h0 h1
     /\ as_seq h1 b == Seq.of_list init
     ))

let test (u:unit) : St unit =
  push_frame();
  let l = [0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y; 0y] <: Tot (list _) in
  assert_norm (L.length l = 20);
  let x = createL l in
  pop_frame()

Function application in F* is, in general, monadic application. i.e., you can apply a function to a computation and the computation will be sequenced and the function will be applied to the result of that computation.
There is an important special case of the application rule that specifically handles the application of a function to a Tot argument. Consider f e, where f : x:t -> C and e: Tot t. In this case, the result computation type is just C[e/x], without any monadic application involved.
Let bindings of Tot terms let x = e in e' is equivalent to (fun x -> e') e). So, if you can prove (e.g., by adding an annotation) that e has computation type Tot _, then F* will substitute e for x in the type of e', just as it does for function application.
In particular, this behavior is useful in conjunction with assert_norm

There's been a LOT of work on normalization with multiple strategies including interpretation, normalization-by-evaluation and native compilation.
This issue was very influential!
But I don't think it adds much value remaining open.
This wiki page has some useful content:
https://github.com/FStarLang/FStar/wiki/Using-SMT-fuel-and-the-normalizer
It would be nice to have a tutorial chapter on using the normalizer. Adding that to #1566


Multiton: Key be default (or factory) value

This feels like a lot of special casing, what is your use case?

Context: This fixes a bug on Enums wherein the first value has the default ordinal value. When the enum value is marshaled to a different address space, it is not correctly Multiton'd to the existing Enum value, which messes up foam.util.equals() checks (which use object identity on FObjects by default).

So you don't actually need the factory support then?
Can we just fix this in enums?

Maybe just set the default value of ordinal to -1 so that it always gets serialized as it starts counting from 0.

IMHO that addresses the symptom without addressing the cause of the problem. Default values and Multitons should not be incompatible. Neither should derivative default values (factories, expressions, etc.).

IMHO that addresses the symptom without addressing the cause of the problem. Default values and Multitons should not be incompatible. Neither should derivative default values (factories, expressions, etc.).

I don't see how factories and expressions can be compatible with Multitons. A Multiton is a creational pattern, it happens before the object is created, whereas factories and expressions happen to existing objects. I can't create to object to know the factory/expression value before I've created the object. Can't we just set "value: -1" for ordinal?

We could. Could we instead support default value, but not
factory/expression? Hacking ordinal leaves this as a footgun for any class
using a default value on a Multiton's property.
On Sep 2, 2017 10:03 AM, "Kevin Glen Roy Greer"<EMAIL_ADDRESS>wrote:

IMHO that addresses the symptom without addressing the cause of the
problem. Default values and Multitons should not be incompatible. Neither
should derivative default values (factories, expressions, etc.).
I don't see how factories and expressions can be compatible with
Multitons. A Multiton is a creational pattern, it happens before the object
is created, whereas factories and expressions happen to existing objects. I
can't create to object to know the factory/expression value before I've
created the object. Can't we just set "value: -1" for ordinal?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/foam-framework/foam2/pull/635#issuecomment-326745880,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABsWSAS14KGiGLhWigVCWhlBCwgeG238ks5seWBEgaJpZM4PKeda
.

Using and/or relying on default value for a multiton feels like a bad idea IMO

Filed https://github.com/foam-framework/foam2/issues/637

LGTM


Change the capitalize function to non-in-place algorithm

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9433d30). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #5   +/-   ##
=========================================
  Coverage          ?   98.97%
=========================================
  Files             ?        4
  Lines             ?      196
  Branches          ?        0
=========================================
  Hits              ?      194
  Misses            ?        2
  Partials          ?        0

Flag
Coverage Δ

unittests
98.97% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out 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 9433d30...bc2c683. Read the comment docs.


Write GitHub Actions for running Terraform stages

Dependencies

[x] #115
[x] #106

Overview
In order to manage IAM resources as code using Terraform, we will need the ability to run a plan on PR creation and an apply when the PR is merged into main.
@dflook created some pretty great GitHub Actions that work well with this workflow. We could follow this established pattern
Action Items

[x] Create a GitHub Action (GHA) terraform-plan.yaml for the Terraform plan workflow

[x] action is triggered on PR creation | example using dflook's GitHub action

[ ] only when files are changed inside of the terraform directory
[ ] only when files end in .tf

we will have readme and other files in these directories, and we don't want changes there to trigger this workflow

[x] results of the plan are written back to the PR as a comment

[x] Create a GHA terraform-apply.yaml for the Terraform apply workflow

[x] action is triggered on PR merge to main

[ ] only when files are changed inside of the terraform directory
[ ] only when files end in .tf

Resources/Instructions
DevOps Security code repository | PM a CoP lead in Slack if you don't already have access.
dflook GitHub Actions
@Tyson-miller wrote a GitHub Action for running Terraform plan on incubator projects...though our needs are simpler

Update: this is almost complete. Next time we meet, we can limit both actions to only kick off when terraform files are changed or when files are changed inside of the terraform directory. We prob don't need both.


Problems with how sections are displaying on Fund page

See: https://opencollective.com/google-open-source-cms-fund

It's not showing the Collectives they support, except in their transactions list. For a Sponsor like this, showing what they support is the main purpose of their page.

Projects is showing in the nav bar, but they have no projects and when you click it, nothing happens. If they don't have projects, it should be hidden.

@znarf let me know if you think this is a regression from the changes in the new navbar

It's not showing the Collectives they support, except in their transactions list. For a Sponsor like this, showing what they support is the main purpose of their page.

@alanna The admins of the page decided to not show all sections. Check with @piamancini ?

Projects is showing in the nav bar, but they have no projects and when you click it, nothing happens. If they don't have projects, it should be hidden.

@Betree The "Projects" might be a regression. Even if it's not, great if you can look at it.

Having a look now.

Regarding point 2, projects is now hidden from non-admins if it's empty (we did not have a rule for this before).
@znarf do we need to look further into point 1 or is it because they chose to hide the section?

@sbinlondon I think it's ok.

The "Contributions" section would need to be visible on the profile

But that will not be enough.

Contributions of this FUND are only done through Expenses, not Financial Contributions. In the end, this FUND is not "member" of the supported accounts and it's the second reason why their Contributions section would be empty.


HB-4676: Add smoke test workflow

First PR got automatically closed when deleting the base branch outside of GitHub... Nothing changed since this was first approved.

Check failures fix: https://github.com/ChartBoost/chartboost-mediation-ios-adapter-admob/pull/37


Neaten up the lists of users/vehicles/locations and add filtering

The lists of users/vehicles/locations could be made to look more consistent with each other and a way for the user to filter them and find things more quickly.
Filtering could also search by extra keys like rider responsibility, bike manufacture, or location address line 1.

I'm interested in working on this issue.

Is there more detail on the design?

You can see what it looks like at the moment by navigating to /vehicles /users or /locations
It's mostly the spacing and formatting is a bit inconsistent between the different views. Maybe some extra information could be placed on the cards too, like the label of riderResponsibilty (if present).
The loading skeletons also don't match what the list looks like. I think at the moment it imports a component to show the skeleton, but it might be better to just use the Skeleton component from Material UI directly in the list.

https://mui.com/components/skeleton/

Okay, I'll start from here then.

@duckbytes I've fixed up the css spacing and made the loading skeletons. How would you want the users to filter? Should it be a dropdown or like the filter search on the dashboard? Are there any specific attributes you think are important for these different lists.

Nice, thanks @LamVu1
I think a text search is fine. It could filter for matching name displayName and riderResponsibility.label.

@duckbytes I'm ready to make a pull request but it doesn't seem like I have the permissions.

Should I have forked the repo?

Fork is a good way to do it. You could fork it and change the remote URL to the new fork URL. Push your changes up, then open a pull request from your branch on the fork.


Base64URL encoding/decoding with and without padding

There are differences between Python's urlsafe_b64encode/decode and what is generally rendered by other language libraries. It appears standard for padding to be omitted in most cases; however, Python includes padding and expects padding on decoding values, even though omitting padding is "loseless" and even appears to be the correct behavior for Base64URL encoding. This is subtle yet significant enough to cause agents that are otherwise well behaved to fail tests and cause issues in interoperability between agents written in python and agents written in other languages.
We can either select with or without padding and fail agents who do not support the selection or accept both as the test suite and implement tests to show that the agent under test will accept both as well.

See PR #29


Added code of conduct file, renamed previous file to contract

So apparently the two files ARE different, and i just copied one of the CoC's as suggested in the mile stone file and changed the name of the one we had to "contract" to reflect this.
Sorry about the confusion

Great Work. No issues from my side

Cool... No issues with this change


follow sprite behaviour looks broken in 0.14.45 and absence of unfollow block

Describe the bug
The follow sprite behaviour for following a sprite which has an acceleration value set looks broken in the current beta beta, 0.14.45 / 5.30.6.
I have some code which accelerates one sprite with positive ay until it hits edge of screen. A second sprite later is set to follow that sprite and there's a very obvious difference between the reasonable 0.14.9 behaviour vs the peculiar 0.14.45. The latter initially follows the sprite only in the y direction but then when the followed sprite is very close it changes its mind and starts following it!
To Reproduce
Steps to reproduce the behavior (easier to just use my demo code unless there's need to investigate other permutations of this phenomena):

Set a sprite with positive ax and set it to stay on screen.
After it's hit edge of screen set the now stationary sprite to follow another one that's moving around the screen.
Observe any differences between 0.14.9 and 0.14.45

Expected behavior
The 0.14.9 behaviour looks reasonable from my demonstration code below. The 0.14.45 behaviour is bizarre and cannot be justified.
One open question is what is the intended behaviour for sprite1 if sprite1 has an acceleration set and then it is set to follow another sprite, sprite2.
A second question is what happens if that follow is removed on sprite1, i.e. does the acceleration take effect again. Actually I don't see a block that would explicitly remove a follow, how is this achieveable using a block?
The answers to these should be added to the follow sprite documentation - there is currently nothing about follow https://arcade.makecode.com/reference/sprites. The mouseover for the follow block doesn't explain this but that's probably intended to be concise?
Screenshots
The pink duck is followed by yellow and green after 12 seconds.
0.14.9

0.14.45

Desktop (please complete the following information):

OS: Windows
Browser: Same behaviour in both Chrome and Firefox

Smartphone (please complete the following information):

n/a

Additional context
Here's the code for above:

You can make a sprite 'unfollow' by setting speed to 0, similar to the behavior of the move sprite with buttons block.
re: main problem, the follow follow keeps momentum by adjusting the speed rather than explicitly setting it; in this case the acceleration you set is just enough that the default turnRate isn't fast enough for it to counteract the acceleration. an acceleration of 40 blocking it is pretty low though; I'll make it get up to max speed faster by default, as it's not adjustable in blocks and 1 second to turn around is a pretty long time now that I think of it :)
If you want to see the change in behavior, switch your snippet to javascript and add in 400 as the third parameter for the follow block (it's current default is 100, so that will make it turn around 4 times as fast). https://github.com/microsoft/pxt-common-packages/pull/1022

For the set speed to 0 thing, can that be added to the docs? Does that remove the feature entirely from the processing, i.e. is there any net overhead from setting a follow and then setting it to 0?

Also, why does the cyan duck not get destroyed when it hits the wall? The edge of the screen is considered a wall for bounce but not for destroy. Mentioned in https://forum.makecode.com/t/inconsistent-sprite-behaviour-with-on-wall-settings/832/2

Theres a tiny bit of overhead in that it will spin up a fiber for updating any existing follow blocks, that will check check each frame if any exist, apply no updates besides internal state, and continue - you can see the implementation in the function here: https://github.com/microsoft/pxt-common-packages/pull/1022/files the first time follow is called it will start up a 'follow update loop'. There would be no additional overhead for a second / more sprite that follows though.
Re: updating docs, would be good to include, I'm heading out on a flight for the week on a family vacation without wifi so someone else would have to, or I can add it when I get back :)

cyan duck - AutoDestroy is a property for destroying  when they move off the visible screen already, so I didn't feel like it needed to specially handle the no-tilemap case like bounceonwall does; I can definitely see how that can be confusing, though, and it's little cost to keep consistent, so feel free to file another issue on that ~


Add or update digital bookplate data in bookplate table

This task gets the parsed JSON bookplate data and store it in the bookplates table. It should lookup in the bookplates table for the Symphony Fund Name (e.g. ABBOTT) and druid (or just druid for the "gift funds") to see if a record already exists. If none found, create a new record in the table, with created date and updated date the same. If a record is found, compare the druid, titles and image filenames in the record to see if there are changes. If no changes, do nothing. If there are changes, update the data in the bookplates table (also updating the updated date column) and pass the updated data along with a reason field (e.g. title change, filename change) in the XCOM so that it can be reported out. For new bookplates, add that to the XCOM too to be reported out.

A database conflict should tell you which field it errored on so we should be able to catch that exception to pass in the XCOM. We want to report out if the filename or title changed if it's not too difficult but it doesn't happen often so we might add this later.


Solve the problem of not being able to distinguish between internal and external contributors

Bug Report

[x] I have searched the issues of this repository and believe that this is not a duplicate.

What is expected?
We hope to distinguish between external contributors and internal employees in a way to better analyze community activity.
What is actually happening?
Since some external contributors may join our organization, we cannot simply distinguish between external contributors and internal employees through the Github API.

Add new company information for people who were not originally recorded.
INSERT INTO gha_actors_affiliations (actor_id, company_name, original_company_name, dt_from, dt_to, source)
select distinct id,
                'PingCAP',
                'PingCAP',
                TO_TIMESTAMP('1900-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'),
                TO_TIMESTAMP('2100-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'),
                'manual'
from gha_actors
where login in (
    select github_login
    from pingcap_private
    where github_login notnull
)
  and gha_actors.id not in (select actor_id from gha_actors_affiliations);

select actor_id
from gha_actors
         inner join gha_actors_affiliations gaa
                    on gha_actors.id = gaa.actor_id
where login in (
    select github_login
    from pingcap_private
    where github_login notnull
)
group by actor_id, login, gaa.dt_to
having count(gaa.dt_to = '2100-01-01 00:00:00') >= 2;

select *
from gha_actors_affiliations
where actor_id in (select actor_id
                   from gha_actors
                            inner join gha_actors_affiliations gaa
                                       on gha_actors.id = gaa.actor_id
                   where login in (
                       select github_login
                       from pingcap_private
                       where github_login notnull
                   )
                   group by actor_id, login, gaa.dt_to
                   having count(gaa.dt_to = '2100-01-01 00:00:00') >= 2)
  and gha_actors_affiliations.dt_to = '2100-01-01 00:00:00'
  and gha_actors_affiliations.company_name != 'PingCAP'
  and dt_from = '1900-01-01 00:00:00.000000';

select * from gha_actors_affiliations where actor_id =57982;

JinheLin
it2911
无
CadmusJiang
github.com/Ray-Eldath
pingcapz
tshqin
haohaoxuex2005
pragmatwice
<EMAIL_ADDRESS>BugGithubs
tisonkun
Mini256
lservini
shuke987
meyu44
无
Xujianxu
en-jin19
<EMAIL_ADDRESS>better0332
ChenlingLu
qiuyesuifeng
TaoZhengCN
MrCroxx
Arenatlx（AilinKid）
ishiihara
mangocake88
jcjwqf
7347183
xiaoyangwang5
littlefall
RenlySir
hnes
skrCodingpoet
Kellen223
zhexuany
hooopo
dveeden
hundundm
Lobshunter86
purelind
ben1009
Chujie
LemonHX
zhuo-zhi
dbaoutdo
moyun
liubog2008
 ClSlaid
lilyjazz
JinLingChristopher
Huiyan0409
Yangxiamao
yiduoyunQ
dbsid
joseespinoza
devillove084
sabaping
zwj-coder
asddongmen
Walterwj
alexc711
c4pt0r
Damon-PingCAP
PiPaSay
chAngeZhaoZhanBo
siddontang
mjonss
xiaoqiangYue
ethercflow
wangkedba
CocaLi
STRRL
hashbone
wanliyi
pcqz
AsterNighT
zkkxu
fuzhe1989
neilydhan
pengfeiwang-cn
Ehco1996
jingshanglu
<EMAIL_ADDRESS>

select * from gha_actors_affiliations
where actor_id in (
    select actor_id
    from gha_actors_affiliations aa
    where aa.dt_to = '2100-01-01 00:00:00.000000'
    group by aa.actor_id, aa.dt_to
    having count(*) > 1
)
order by actor_id;

resolved by https://github.com/ti-community-infra/devstats/pull/98
For now, we can distinguish through automated procedures and manual addition.


[FLINK-10361] [test] Harden instable elastic search end-to-end test case

What is the purpose of the change

Try to harden the instable test case test_streaming_elasticsearch.sh in flink-end-to-end-test module

Brief change log

Waiting the Elasticsearch ready by checking the port 9200 is listened or not
Waiting for 60s due to it sometimes costs more than 30s to be ready in my poor computer

Verifying this change

Tested this case manually

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

Thanks for the PR @ifndef-SleePy!
I think the changes make sense. I'll give it a run locally, and will merge this if things work well.

@tzulitai
Thank you for reviewing.


trying with 4 sensors

i have my code done, from your file butt using platformio and 4 sensors
but i can read the date from them, with android app its ok..

can you check the code?
https://drive.google.com/drive/folders/1QMslgD5UtD_kUmY3Ydt3RCgHhAzKHknz?usp=sharing

i recive data like this using the serial monitor code
Address: 38:ab:00:00:f9:6b, manufacturer data: 281e17012c01e8, serviceUUID: 000027a5-0000-1000-8000-00805f9b34fb, rssi: -82


Error while computing F1-score

Hi,
I am doing NER on a dataset which is tagged in BIO encoding scheme, and for 7th epoch i get the below error while computing F1-score. Does that mean there is something wrong with the dataset labels? If yes, how can i  print the predictions and know where exactly is the problem?
Documents/Gitstuff/emnlp2017-bilstm-cnn-crf/util/BIOF1Validation.py", line 185, in checkBIOEncoding
assert(False) #Should never be reached
AssertionError

Hi @Mahmedturk
the error indicates that the label is invalid, i.e., not a valid BIO label. Valid BIO labels are only the labels 'O' (the letter, not the number) or B-* or I-*.
If you have in your label set for example the label 'ABC', and this label is predicted, then this error is raised.
Do you maybe use some other tag set, like IOBES? Then you must set the right config value so that it is converted to BIO before the F1 score is computed.
You maybe some noise is part of you label set? This can happen, if the column structure of CoNLL files is not strictly followed.

Which CoNLL format to be precise? CoNLL 2009?

The CoNLL format that was used 2000 for chunking or 2003 for NER.

I have completed scanning my whole dataset, I have all the labels either O, "B-(an integer)" or "I-(an integer)".  There's no label other than that. Also, if there is noise in the labels, could comment on why the program works for first few epochs and then generates Assertion Error?

Hi,
the error should be in the gold labels.
You can inspect the gold labels by inspecting the mappings variable. I will use Train_Chunking.py as an example.
In line 59, add:
print(mappings['your_label_key']) # I.e., for Train_Chunking.py, set it to chunk_BIO

This should print you the mappings for your labels.
I expect that one of the label will not follow the BIO encoding scheme, i.e., it will be different than O, B-* or I-*
Next you need to find out why this label is in your dataset.
The error occurs once a faulty label is predicted.
Best
Nils Reimers

Hi @nreimers
This has helped me identify the issue. The problem was, one of rows in token column had two tokens, and the second token was read in as a label. After deleting that token now the code in working.

Glad that it works now. Had a similar issue before, that a line contained more than 1 token


Cannot replicate Results on 3DPW and Human3.6

Hello,
I am using validation script to produce the results as reported. For running validation script I am using : ./scripts/validate_smpl.sh ./configs/256x192_adam_lr1e-3-res34_smpl_24_3d_base_2x_mix.yaml ./pretrained_res34.pth , with the same configurations. I have downloaded the pretrained model from https://drive.google.com/file/d/1SoVJ3dniVpBi2NkYfa2S8XEv0TGIK26l/view (as provided).
Even for running for 200 epochs I am getting the results below :
####################################### H36m #######################################
Evaluation start...
XYZ_14 Protocol 2 error (MPJPE) >> PA-MPJPE: 441.583574 | MPJPE: 493.770147, x: 167.688077, y: 359.20, z: 182.711807
Directions: 511.48 Discussion: 490.77 Eating: 502.78 Greeting: 523.98 Phoning: 482.57 Posing: 503.79 Purchases: 504.71 Sitting: 486.85 SittingDown: 473.40 Smoking: 474.36 Photo: 533.96 Waiting: 487.39 Walking: 464.98 WalkDog: 497.08 WalkTogether: 501.04
Test result is saved at exp/test_3d_kpt.json
Evaluation start...
XYZ_24 Protocol 2 error (MPJPE) >> PA-MPJPE: 434.536866 | MPJPE: 462.457456, x: 140.025826, y: 357.18, z: 163.964096
Directions: 489.34 Discussion: 464.32 Eating: 466.34 Greeting: 497.36 Phoning: 450.01 Posing: 478.62 Purchases: 474.01 Sitting: 442.66 SittingDown: 426.29 Smoking: 440.27 Photo: 505.36 Waiting: 458.18 Walking: 440.93 WalkDog: 464.75 WalkTogether: 474.51
Test result is saved at exp/test_3d_kpt.json
gt h36m err:<PHONE_NUMBER>6250947
####################################### 3dpw  #######################################
Evaluation start...
XYZ_14 PA-MPJPE: 438.903729 | MPJPE: 462.740392, x: 149.879205, y: 348.55, z: 158.646349
Test result is saved at exp/test_3d_kpt.json
Evaluation start...
XYZ_24 PA-MPJPE: 426.160066 | MPJPE: 438.464583, x: 124.601933, y: 350.93, z: 136.161026
Test result is saved at exp/test_3d_kpt.json
PVE:<PHONE_NUMBER>6098835
gt 3dpw err:<PHONE_NUMBER>9916605
Can you please help me getting the better results using your pretrained model. Thanks in advance.
p.s. All the scripts are same as provided by you.

Hello, I am sorry for creating this issue. I am able to replicate your results on both 3dpw and Human3.6. The issue was because of the PyTorch version. I had Cuda 10.2 and I used python to create an environment, building PyTorch from source using pip.  But using pip I was getting the distribution for torch==1.11.0+cu102. This torch did not have torch.cuda.comm.broadcast method. I did not handle this issue properly and hence the errors were coming too high.
This was the problem from my side and I want to thanks for your patience and time. Closing the issue.


Add FBGEMM based embeddingbag ubench

@nrsatish Can you change the logger to bmlogger? We are migrating to bmlogger (which is mainly just a name change so no fb5, but also a little different in usage). bmlogger defines a get_bmlogger method that returns a logger. If no logging file path is given, the returned logger does nothing when called, which removes the need to add if statements everywhere to check for logger existence. See an example of how to use it here #72 - shouldn't be too hard to switch.

@nrsatish Can you change the logger to bmlogger? We are migrating to bmlogger (which is mainly just a name change so no fb5, but also a little different in usage). bmlogger defines a get_bmlogger method that returns a logger. If no logging file path is given, the returned logger does nothing when called, which removes the need to add if statements everywhere to check for logger existence. See an example of how to use it here #72 - shouldn't be too hard to switch.

Done


Maximum call stack size exceeded

what could possibly be wrong with node v5.7.1 ?
<projectdir>/src/lib/log.js:65 Log.prototype.listenerCount = function (event) {                                        ^ RangeError: Maximum call stack size exceeded

Node v5 is currently not a supported version so I'll close this issue.


Remove needless break statements

Codecov Report

Merging #65 (b78c1aa) into master (fee966a) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master       #65   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines          505       503    -2
  Branches        99        99
=========================================
- Hits           505       503    -2

Impacted Files
Coverage Δ

tomli/_parser.py
100.00% <100.00%> (ø)

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 fee966a...b78c1aa. Read the comment docs.