Fix ramping delay caused by long lasting sequence of unfiltered messa…

After observing our last-hop and end to end ingestion delay metrics for a few weeks in our production systems and getting some feedback from users in the OSS community we have come across the following special cases that may require special handling. Note that these scenarios are highly unlikely during normal operation but yet we still want to reflect the most accurate ingestion delay possible in each scenario:
Scenario 1: All messages in a batch are filtered: (This change addresses this)
(i.e. messagesAndOffsets.getMessageCount() = 0 and messagesAndOffsets.getUnfilteredMessageCount() > 0)
In this case we currently report the ingestion delay for the last event consumed correctly by Pinot on a preceding batch. If we have continuous streams of all events filtered, this measure may not reflect the actual current situation. We originally thought of setting the delay to zero in this case but that will not be correct in the situation where we have a steady stream of all filtered events arriving as the queue of filtered events may be large. Setting the delay to zero in these cases may also lead to flickering metric in the scenario where batches of all-filtered messages are interspersed with batches with events that are not filtered: metrics would jump between a value and zero in this case. The best solution in this case is to preserve the metadata for the last filtered message on a batch and generate a precise ingestion delay from it.
Scenario 2: All messages in a batch cause exceptions. (No change for this scenario, current behavior is correct)
In this case we currently report the ingestion delay for the last  not-filtered message ingested correctly by Pinot aged by the time elapsed since the ingestion time. This seems correct by the semantic we intend for our metric: if we have a number of failures in decoding messages we should not count them as correctly ingested by Pinot and the increasing time should be a good signal for users to check other metrics and deal with the errors.
Scenario 3: All transformed rows are empty.  (this change addresses this)
If we receive events correctly but reusedResult.getTransformedRows()
Is empty for all events in a batch, we will report the ingestion delay for the last, not-filtered message ingested correctly, aged by the time elapsed since the ingestion time. An alternative here would be to report the delay for the last message processed regardless of the function get transformed row returning empty. The current change does this: when all transformed rows return empty, we still record the timestamp if there was a message received carrying valid metadata.

Codecov Report

Merging #10418 (09d6913) into master (f8d4320) will decrease coverage by 49.39%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master   #10418       +/-   ##
=============================================
- Coverage     63.24%   13.85%   -49.39%
+ Complexity     5069      259     -4810
=============================================
  Files          2030     2001       -29
  Lines        110629   108931     -1698
  Branches      16842    16647      -195
=============================================
- Hits          69965    15092    -54873
- Misses        35538    92619    +57081
+ Partials       5126     1220     -3906

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
13.85% <0.00%> (?)

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

Impacted Files
Coverage Δ

...manager/realtime/LLRealtimeSegmentDataManager.java
0.00% <0.00%> (-70.63%)
:arrow_down:

... and 1830 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Hi @Jackie-Jiang please take a look when you can, this should be simple to review. TIA

I don't think this is correct. Imagine we got some real messages, followed by some filtered messages, followed by some real messages. We should not set the delay to 0 in case all messages are filtered because it doesn't indicate we have already caught up. Am I missing something here?

@jugomezv - Just curious, whats the amount of delay this causes?
"With this we avoid a ramping
delay caused by one event followed by a long period of filtered messages"

When all events are filtered and no actual events are processed, set consumption delay to zero as we are caught up processing actual events.

All events filtered in a given batch doesn't imply that we are caught up. In this scenario, the consumer returned messages , however, it was all filtered for whatever reason (is it tombstones today??). This scenario should be treated differently than when fetch messages doesn't return any messages from the consumer.  Have I misunderstood the hidden assumptions in the current realtime segment data manager's implementation ?

This does not affect metric reports in active tables that have incoming events, only inactive tables that have long sequences of filtered events.

What do you mean by "inactive tables"? Are these tables that are not consuming or tables that are consuming from an empty source? Or something else?

I don't think this is correct. Imagine we got some real messages, followed by some filtered messages, followed by some real messages. We should not set the delay to 0 in case all messages are filtered because it doesn't indicate we have already caught up. Am I missing something here?

@Jackie-Jiang I see your point of view, but the situation I am trying to address here is constant repeated invocations of the loop where we filtered all messages, the current outcome is not correct correct either: an event comes in and we record that delay, then event batches are all filtered: the current outcome is time continues to ramp up to hours and hours and we are actually consuming. This is confusing and not correct. Do you have a better suggestion?
We have seen this in some tables that are not actively being used and I think someone else reported earlier.

@jugomezv - Just curious, whats the amount of delay this causes? "With this we avoid a ramping delay caused by one event followed by a long period of filtered messages"

@swaminathanmanish in the cases reported in the original commit and some cases we have internally of tables that are not actively consuming the delay reported increases without bounds.

When all events are filtered and no actual events are processed, set consumption delay to zero as we are caught up processing actual events.

All events filtered in a given batch doesn't imply that we are caught up. In this scenario, the consumer returned messages , however, it was all filtered for whatever reason (is it tombstones today??). This scenario should be treated differently than when fetch messages doesn't return any messages from the consumer. Have I misunderstood the hidden assumptions in the current realtime segment data manager's implementation ?

This does not affect metric reports in active tables that have incoming events, only inactive tables that have long sequences of filtered events.

What do you mean by "inactive tables"? Are these tables that are not consuming or tables that are consuming from an empty source? Or something else?

@navina inactive tables I refer to tables that do not have events that are not filtered. The problem this is trying to tackle is the following sequence of events:
EventSequnce:[Good Event-NotFiltered][allfilteredbatch][allfilteredbatch].........[allfilteredbatch]
Delay reprted:  DelayForGoodEvent=t,t+delta, t+2delta.........................................t+n*delta
If we could measure the delay on filtered events we will be OK but sadly those events are filtered, so we cant compute delay on them.
The ever increasing time is confusing as it lead us to believe that we are not consuming but in fact we are, we are just filtering messages.
Hopefully, you follow the situation else I can set some time to zoom, I am open to any other suggestions that you and @Jackie-Jiang may have but current behavior does not seem right as it does not reflect the delay incurred by filtered events either.

I slept over this and I think there are two possible paths we could take:
1.-Modify the stream API so that we can extract at least one time stamp of a batch of all filtered messages: this will enable the tracker to publish a precise metric. If this is too complex we can at least introduce 2:
2.-Emit a info log after a fixed number of contiguous all-filtered batches: although this is less desirable at least will enable us to check the logs and verify if a ever increasing ingestion delay metric is due to actual problem or contiguous batches of all-filtered messages.
What do you guys think? @navina @Jackie-Jiang

@jugomezv thanks for re-evaluating. I was looking at the code and didn't quite understand why you can't get the timestamp for filtered batch. It should be possible without changing the API. Let's syncup over a call. I will DM you on slack. tks!

since this also affects us for every table.

@jadami10 why does this affect every table that you have? iiuc, this only affects when all the fetched data gets filtered ?

@jadami10 why does this affect every table that you have? iiuc, this only affects when all the fetched data gets filtered ?

Internally, we have multiple kafka clusters per topic for better availability. We use our own stream ingestion plugin to make it look like 1 topic to Pinot. But it means across most tables/topics, some partitions get very few events.

Internally, we have multiple kafka clusters per topic for better availability. We use our own stream ingestion plugin to make it look like 1 topic to Pinot. But it means across most tables/topics, some partitions get very few events.

That's definitely not a pattern one would expect :)
@jugomezv and I discussed this on friday and I believe he is going to come up with some proposal on API changes that can provide metadata on the filtered messages.

A new API work. Does it make sense to still merge this as is in the meantime? It's still a fairly new metric.

A new API work. Does it make sense to still merge this as is in the meantime? It's still a fairly new metric.

I recommend waiting on the API based change as setting ingestion delay to 0 when all records are filtered is not correct. The delay should still consider the timestamp on the filtered records.
If the fix was not performant, I wouldn't mind merging and fixing forward. But this pertains to correctness of the solution.

A new API work. Does it make sense to still merge this as is in the meantime? It's still a fairly new metric.

@jadami10 As discussed earlier this patch will not be displaying correct times either: so the proposal is to modify batch interface to provide timestamp even for filtered messages, that way we will publish correct metrics even in the face of all filtered events. does that make sense?

My thinking was more towards my first comment. Both what is on master and this PR are not fundamentally right. But this version at least gives you true positives; if it says lag > 0, it is definitely > 0. I would argue that makes it more useful even in this intermediate state.
That said, my feelings aren't that strong, and I'm mostly commenting as an interested observer. If you're both comfortable with/prefer a completely separate patch, that's totally fine with me.

My thinking was more towards my first comment. Both what is on master and this PR are not fundamentally right. But this version at least gives you true positives; if it says lag > 0, it is definitely > 0. I would argue that makes it more useful even in this intermediate state.
That said, my feelings aren't that strong, and I'm mostly commenting as an interested observer. If you're both comfortable with/prefer a completely separate patch, that's totally fine with me.

This was exactly my initial view but I @navina and @Jackie-Jiang convinced me there may be a better solution along the lines of what I just pushed. The other bad side effect on my original proposal was that if we get a sequence of batch of messages that are:
[ValidEventBatch][NullMsgBatch][ValidEventBatch].... etc our metric will jump between a real value and zero creating very bad experience for users, if you can try this new patch that would be great.

@jugomezv are you able to reproduce this scenario in kafka? It would be worthwhile to either add an integration test or some manual way of testing this specific scenario.

@jugomezv Thanks for the detailed write-up in the PR description on the various scenarios. Very helpful!

I tested this change in one of our perf test servers and observed no regression and using some tracing I observed that the special case we are trying to address is caught:
2023/03/30 22:35:02.106 INFO [LLRealtimeSegmentDataManager_ReviewThrottlerMessageStateChangeEvent__1__225__20230330T1242Z] [ReviewThrottlerMessageStateChangeEvent__1__225__20230330T1242Z] [pinot-server] [] =>updateIngestionDelay() indexedMessages = 0, noTransformedRows = true
2023/03/30 22:35:02.106 INFO [LLRealtimeSegmentDataManager_ReviewThrottlerMessageStateChangeEvent__1__225__20230330T1242Z] [ReviewThrottlerMessageStateChangeEvent__1__225__20230330T1242Z] [pinot-server] [] =>updateIngestionDelay(md) ingestion TS =<PHONE_NUMBER>091, end to end TS =
1680215668086
In this case we indexed zero message and we had no transformed rows but we did have metadata for a null message and we recorded a timestamp.
I also verified that we do record timestamps when actual messages are indexed (no regressions):
2023/03/30 22:40:37.336 INFO [LLRealtimeSegmentDataManager_CountableImpressionDiscounting__0__4664__20230329T2250Z] [CountableImpressionDiscounting__0__4664__20230329T2250Z] [pinot-server] [] =>updateIngestionDelay() indexedMessages = 9, noTransformedRows = false
2023/03/30 22:40:37.336 INFO [LLRealtimeSegmentDataManager_CountableImpressionDiscounting__0__4664__20230329T2250Z] [CountableImpressionDiscounting__0__4664__20230329T2250Z] [pinot-server] [] =>updateIngestionDelay(md) ingestion TS =<PHONE_NUMBER>332, end to end TS =<PHONE_NUMBER>760

failing integration test passing on my env, forced committed to rerun tests

My thinking was more towards my first comment. Both what is on master and this PR are not fundamentally right. But this version at least gives you true positives; if it says lag > 0, it is definitely > 0. I would argue that makes it more useful even in this intermediate state.
That said, my feelings aren't that strong, and I'm mostly commenting as an interested observer. If you're both comfortable with/prefer a completely separate patch, that's totally fine with me.

Now that this change is merged, do you still observe the issue?

Now that this change is merged, do you still observe the issue?

due to some internal dependencies, we're a little block getting this change into our custom stream ingestion plugin. So we still haven't implemented getLastMessageMetadata. But I'll let definitely you know when we do.


NPM LINK does not work with angular app generated by angular cli

I am trying to use npm link to develop my angular app as an custom shared npm module and consume it in another angular app.  Please let me know if I am missing something here.
angular cli verion: 1.6.3

   _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/

Angular CLI: 1.6.3
Node: 8.9.4
OS: win32 x64
Angular: 5.2.1
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.6.3
@angular-devkit/build-optimizer: 0.0.38
@angular-devkit/core: 0.0.25
@angular-devkit/schematics: 0.0.48
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.3
@schematics/angular: 0.1.13
@schematics/schematics: 0.0.13
typescript: 2.4.2
webpack: 3.10.0

`node --version: v8.9.4` and `npm --version : 5.6.0`.
Windows 10
VsCode  1.19.1 ( 64 bit)

Repro steps
SAMPLE APP ATTACHED HERE
npm-link-with-angular-app.zip

Step 1
Unzip the attached file
open lib app in vs code and run below script

npm install
ng build
cd dist
npm link

STEP 2
Open website app in vscode and run below script

npm install
npm link greeter-app
ng build

Observed behavior
<!-- Normally this includes a stack trace and some more information. -->

PS Z:\rupesh\rnd\ng-link\website\website> ng build
Date: 2018-01-18T18:22:00.448Z
Hash: 5ece352c69fd79907b40
Time: 3754ms
chunk {inline} inline.bundle.js, inline.bundle.js.map (inline) 5.83 kB [entry] [rendered]
chunk {main} main.bundle.js, main.bundle.js.map (main) 303 bytes [initial] [rendered]
chunk {polyfills} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 323 bytes [initial] [rendered]
chunk {styles} styles.bundle.js, styles.bundle.js.map (styles) 11.4 kB [initial] [rendered]

ERROR in src/app/app.module.ts(6,29): error TS2307: Cannot find module 'greeter-app'.

PS Z:\rupesh\rnd\ng-link\website\website>

Desired behavior
IT should be able to link with my greet-app and I can import greet module and use the component from the greet-app.
Use case: I want to create on lib app where I will put some modules (feature module) which I want to consume in another angular app. However I want to locally test this using npm link.
I expect to see: I should be able to use npm link in my website app and consume lib app.

Mention any other details that might be useful (optional)
I have attached my sample app please download the zip file unzip it and open lib and website 2 apps in 2 different VsCode editor and then just do npm install and run npm link.

Such a sad solution though......... :-1:


[CX-1313]: Reorganize Convection home to better align with admin workflow

Refs: CX-1313
Note: Page is zoomed out 50%.
When tables are empty:

When records exist:

The views look different than the wireframe. Did the spec change since those? It wasn't obvious from the comments.


fix wikidata field broken for some languages

today is an amazing day.... for years I thought the wikidata field was a dumb readonly field, and I've always used the raw tag editor to set this key.
I only realized today that it's supposed to have dropdown suggestions.... It's never worked for me, because my language is set to en-NZ which the wikidata API rejects, causing the field to delete everything you type into it
I'm not sure if simply stripping out the -XX country code suffix is the right solution, but this is an incredible QOL improvement

(although the suggestions are a bit weird)

Possibly relevant MediaWiki issue:
https://phabricator.wikimedia.org/T156220

hey @tyrasd, your fix in 862ca6522a08d194e3fbb30cfd7424290eaf779f doesn't seem to work for me, I think it might be because there's no return statement after this line, so the code is calling callback() immediately instead of retrying the request

Good catch! It was that in combination with the this parameter not being available in the retry code path. That's now fixed in ea054a00a. Can you please double-check if it works?

thanks! it works perfectly now


IIS reverse proxy

My goal is to run a websocket server in local host and the clients access it via Windows Web Server IIS acting as a reverse proxy server.
Server runs at localhost:5005 as shown below:
#!/usr/bin/env python

import asyncio
import websockets

async def echo(websocket):
    async for message in websocket:
        print(message)
        await websocket.send(message)

async def main():
    async with websockets.serve(echo, "localhost", 5005):
        await asyncio.Future()  # run forever

asyncio.run(main())

Then in IIS:

In Application Request Routing Cache --> Server Proxy Setting --> Enable proxy, I checked.
Under Sites --> Default Web Site, I added an application named app
Using URL Rewrite, I added the following rule:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="ReverseProxy" stopProcessing="true">
                    <match url="(.*)" />
                    <action type="Rewrite" url="http://localhost:5005" logRewrittenUrl="true" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Now a client should be able to connect from ws://localhost/app. However connection fails and I get this exception in server:
connection handler failed
Traceback (most recent call last):
  File "C:\Users\amin.ramezanifar\AppData\Roaming\Python\Python37\site-packages\websockets\legacy\protocol.py", line 945, in transfer_data
    message = await self.read_message()
  File "C:\Users\amin.ramezanifar\AppData\Roaming\Python\Python37\site-packages\websockets\legacy\protocol.py", line 1015, in read_message
    frame = await self.read_data_frame(max_size=self.max_size)
  File "C:\Users\amin.ramezanifar\AppData\Roaming\Python\Python37\site-packages\websockets\legacy\protocol.py", line 1090, in read_data_frame
    frame = await self.read_frame(max_size)
  File "C:\Users\amin.ramezanifar\AppData\Roaming\Python\Python37\site-packages\websockets\legacy\protocol.py", line 1149, in read_frame
    extensions=self.extensions,
  File "C:\Users\amin.ramezanifar\AppData\Roaming\Python\Python37\site-packages\websockets\legacy\framing.py", line 70, in read
    data = await reader(2)
  File "C:\Program Files\Python37\lib\asyncio\streams.py", line 677, in readexactly
    raise IncompleteReadError(incomplete, n)
asyncio.streams.IncompleteReadError: 0 bytes read on a total of 2 expected bytes
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "C:\Users\amin.ramezanifar\AppData\Roaming\Python\Python37\site-packages\websockets\legacy\server.py", line 232, in handler
    await self.ws_handler(self)
  File "D:/Robotic Framework/RoboticApps/UI_Framework/server.py", line 7, in echo
    async for message in websocket:
  File "C:\Users\amin.ramezanifar\AppData\Roaming\Python\Python37\site-packages\websockets\legacy\protocol.py", line 482, in __aiter__
    yield await self.recv()
  File "C:\Users\amin.ramezanifar\AppData\Roaming\Python\Python37\site-packages\websockets\legacy\protocol.py", line 553, in recv
    await self.ensure_open()
  File "C:\Users\amin.ramezanifar\AppData\Roaming\Python\Python37\site-packages\websockets\legacy\protocol.py", line 921, in ensure_open
    raise self.connection_closed_exc()
websockets.exceptions.ConnectionClosedError: no close frame received or sent

To make sure if IIS settings are correct, I used another websocket library named "simple-websocket-server" and it worked fine. Here is the server implementation:
from simple_websocket_server import WebSocketServer, WebSocket

class SimpleEcho(WebSocket):
    def handle(self):
        # echo message back to client
        self.send_message(self.data)

    def connected(self):
        print(self.address, 'connected')

    def handle_close(self):
        print(self.address, 'closed')

server = WebSocketServer('localhost', 5005, SimpleEcho)
server.serve_forever()

Can anyone tell me what the issue is?
I tried both an html client and a python client (unsuccessful with websockets module, successful with simple-websocket-server module).
Thank you

I'm not seeing anything wrong with what you describe.
The exception shown by websockets suggests that IIS closed the TCP connection. However, we don't know why.
Perhaps turning on debug logs would give you a clue?
At worst, you can figure out which side closed the TCP connection with Wireshark, but that's pretty low level.

The question is why IIS closes the connection?
IIS does not behave that way for few other websocket servers that I have tested and used.
An example is the code sample I put above using "simple-websocket-server".
In the documentation, I see a guide to use NGINX as reverse proxy. Can someone please provide a guide for IIS?
Thanks

... the minor issue being that "one of the developers" is probably "me" and I don't have a Windows install around nor knowledge of IIS :-(
Typically, cases of "$SETUP works with $LIBRARY but not websockets" happen because websockets provides more features than $LIBRARY, breaking $SETUP.
Let's try the most frequent offender -- could you add compression=None here:
    ...
    async with websockets.serve(echo, "localhost", 5005, compression=none):
        ...

and see if that helps?
This old stackoverflow question suggests that IIS disliskes compression on WebSocket connections.

Thanks @aaugustin  for the solution. With that flag set to off, it works just fine.
I had come across this instruction saying what should be done to enable compression. Evidently it does not help. With your hint about IIS not liking to compress, I found this  that says ARR3.0 doesn't support WebSocket compression.
At this time, ARR3 (Application Request Routing) which is installed for IIS10 is the last version so we should probably wait for the future releases.
For other users that come here seeking a guide how to set IIS as reverse proxy, there is pictorial guide here.
Thank you


Migrate to packages

Sky Tools is currently being referenced as a git sub-module in the mods.
This should be changed to NuGet packages.
Additionally, the patching functionality (and thus, the Harmony dependency) should be extracted into a separate assembly/package.

Implemented in 496735752c1455ce5e147d25ece2b35cdbd77b90, eee4face3a1c5d22f1473a2bea6ce762e86779ed, and 3fcf12162096db9ae1da943e8db50b0422224f68.


Update swagger version

For generation of typescript client in cbioportal/cbioportal-frontend it is
essential to have a newer version of Swagger, otherwise all objects returned by
the API have any type.

@sheridancbio updated to 2.7.0


Switching test to use the in memory persistence adapters

This is an attempt to decouple the SidelineSpoutTest from Zookeeper.

While digging into this I also tried swapping in the MockConsumer and that proved to be much more hairy than I thought it would be. This test is tightly coupled to KafkaRecord instances and it's just going to take some serious time to decouple them and maintain the test.


Use containerd instead of Docker

Closes #2 and LibreTexts/metalc#208. This is already deployed in the galaxy dev cluster, but I want to run the setup through everyone just to make sure everyone is OK with it (and make sure everyone's OK with using containerd over CRI-O).

Gonna assume this is fine.


how can i send the broadcast message to all groups that my bot is member in group ?

how can i send the broadcast message to all groups that my bot is member in group ?
please help me .
tnx

You have to keep track of the groups your bot is in yourself, and then have to send it to all groups one by one. No way around that. Sorry.


Support dynamic partials at compile time

https://handlebarsjs.com/guide/partials.html#dynamic-partials

It is exactly the same as doing:
{{# if const_expr }}
 {{> partial1 }}
{{ else if const_expr }}
  {{> partial2 }}
{{ else }}
 {{$ "Not find partial' }}
{{/if }}


Patches are not being applied to esp32-s3 SVD file

After executing the following patch command:
cargo xtask patch esp32s3
The generated esp32s3 still contains %s.  I might be wrong, but I expected  it to produce an XML file without the %s.

Can SVD2Rust generate precompiled XML with the placeholders substituted? If not, do you know of such a tool?


How do I add SCRAM-SHA512 and SCRAM-SHA512-PLUS support?

Since ScramServer is a private struct, how do I add SCRAM-SHA512 and SCRAM-SHA512-PLUS support?
Or, do you have any plan to add those support?
In the code, I see you have tried to add sha512 support but why comment it later?
#[cfg(feature = "scram-sha-1")]
pub type ScramSha1Server<const N: usize> = ScramServer<sha1::Sha1, N>;
#[cfg(feature = "scram-sha-2")]
pub type ScramSha256Server<const N: usize> = ScramServer<sha2::Sha256, N>;
// #[cfg(feature = "scram-sha-2")]
// pub type ScramSha512Server<const N: usize> = ScramServer<sha2::Sha512, N>;

Since ScramServer is a private struct, how do I add SCRAM-SHA512 and SCRAM-SHA512-PLUS support?

If you need support for SCRAM-SHA512 and SCRAM-SHA512-PLUS right now you could make use of the unstable_custom_mechanism feature in rsasl. There isn't a good example of that feature in this repo yet, but you can have a look at https://gitlab.com/fabinfra/fabaccess/bffh/-/blob/e35e2b7334823ea682a226a7bb5bd31da2291079/bffhd/authentication/fabfire/mod.rs for some guidance on how that feature can be used with rsasl-2.0.0.
Keep in mind that this feature opt out of semver stability and may change on minor version number changes for now, as I'm not sure if I have it right just yet and may need to add required methods to the Authentication trait.

Or, do you have any plan to add those support?
In the code, I see you have tried to add sha512 support but why comment it later?

I'm not opposed to adding support for SCRAM-SHA512(-PLUS) in rsasl proper, but I don't know of deployment of that mechanism or other implementations so I couldn't test my implementation and thus was reluctant to advertise support.
The latter also holds for SCRAM-ARGON2 and other custom variations of the SCRAM family. In general rsasl has so far been mostly focusing on IANA-registered 'COMMON' mechanism (i.e. the SCRAM variants listed here).
If you do have a different implementation you can verify against, please open a PR adding the support!

Thanks for your answer.
I just research for the possibility to add SCRAM-SHA512(-PLUS)  to our product. In currently stage, I think use SCRAM-SHA256(-PLUS) is good enough.
However, since SHA-1 is considered insecure since 2005, so I just wonder why SCRAM-SHA-1(-PLUS)  still marked as COMMON in that list.

However, since SHA-1 is considered insecure since 2005, so I just wonder why SCRAM-SHA-1(-PLUS) still marked as COMMON in that list.

SHA-1 is specifically weak when used as a collision-resistant compression function — as is the case with e.g. digital signatures.
SCRAM does not use the underlying hash in that way, but instead uses it only via HMAC construction as KDF or MAC. HMAC's proof of security notably does not rely on collision-resistance of the hash function, and HMAC-SHA1 is not considered to be insecure when used as either of those two, and is explicitly allowed by the same NIST recommendation that is phasing out SHA-1. (note that this is not universally the case, e.g. the German Federal Office for Information Security (BSI) only allows HMAC-SHA1 in special circumstances)


GPL License Questions

My working environment is Linux.
I tested CANopen using CANopenSocket's canopend. It worked well.
I created shared memory in canopend and tried to exchange PDO data with other programs.
I know that CANopenNode is a GPL linking exception.
However, CANopenSocket is a generic GPL v2.
I tested with canopend and tried to use shared memory, but gave up because it was GPL v2.
So I tried to use the GPL linking exception CANopenNode/CANopenNode/example/main.c.
After analyzing the source, I found that the CANopenNode/CANopenSocket/canopend/src/main.c and CANopenNode stacks were very similar.
Both CANopenNode/CANopenNode/example/main.c and  CANopenNode/CANopenSocket/canopend/src/main.c both use the stack of CANopenNode.
Both are thought of as a kind of daemon using CANopenNode.
This part confuses me.

CANopenNode is a GPL linking exception, and canopend is GPL v2 intentionally?
Can I refer to canopend's source when modifying CANopenNode/CANopenNode/example/main.c?

I am a newbie in connection with the GPL license.
I tried to find the mailing list but could not find it.
Is it a question to ask here?
I'm sorry I do not have enough English.

GPL genreally allows you to go from a less restrictive to a more restrictive license for your fork, but not the other way around. Restrictive in GPL terms means "open source-ness".
You can do LGPL -> GPL
You can do GPL Linking exception -> GPL without linking exception
You can do GPL V2 -> GPL V3
However, you can not do GPL -> LGPL without permission of the project maintainer.
You also can not do *GPL -> MIT ore something like that.
to your questions

I can't say for sure, but I assume that is the case.
If you want to create a commercial application, it doesn't really matter. You can't use either as "main" for your project as both have GPL license requiring you to open-source at least this one file. Take the stuff you need and pack it into a separate file(s), while having a look to clearly separate the CANopenNode stuff from your application.

Thank you.
It has helped a lot.
I will use the CANopenNode stack to clearly distinguish between CANopenNode and the application.


Refactor code

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 29
- Added 34

Complexity increasing per file
==============================
- src/js/off-main-thread/state.js  1
- src/js/off-main-thread/omt.js  5
- src/js/off-main-thread/search-engines.js  5
- src/js/off-main-thread/array-wrap.js  2

Clones added
============
- src/js/off-main-thread/state.js  1
- src/js/off-main-thread/omt.js  3
- src/js/off-main-thread/search-engines.js  1
- src/js/off-main-thread/array-wrap.js  1

Clones removed
==============
+ src/js/app.js  -4

See the complete overview on Codacy


Connect admin database to endpoint

/cib connect-admin-database

Branch 50-connect-admin-database created!


Validate auth

Fix problem that authorization can experice rigth after validate_auth().
Add authorization check before get_headers in SSEClientWithAuth.

👍 Good solution with the valid_until.


Positional Audio thinks 3D Sound is disabled

When I open the Positional Audio dialog, it says 3D Sound is Disabled.

The only reference to 3D sound I can find is in Options > Playback > Always set clients 3D positions when available and it's enabled.

Any idea what's wrong?

closing as it's fixed since ehr, whenever.


Koa main website example code snippets disappear

Koa site has example code which renders for a split second, then disappears.
I double checked and could not find other discussion of this problem, or a better place to report it (the koajs/koajs.com repo seems to be the actual home of the website code but issues are closed on that repo). I hope this is a helpful report. Thanks!
Actual behavior
Open the main koa site and scroll down to "Application" then look under the line "The obligatory hello world application". Refresh the page and you will see the example code appear briefly then disappear again. The same occurs with the next example code snippet under "Cascading". This occurs for me on both firefox, safari, and chrome on macOS, although I don't have any other OSs handy to test.
Expected behavior
Example code/hello world is displayed normally

I've tested this on Safari, Chrome and Firefox on a Macbook and I've had no issues seeing the examples. Could this have been a temporary bug? are you still missing the examples? Anyone else who can confirm the bug?

Not sure why it needs a websocket connection to display code with syntax highlighting, or why the widget is hiding the plain text example code before successfully loading the enhanced code highlighting

I wouldn't want to speculate on the "why" of how Runkit operates but as far as the replacement I would imagine it's simply  in case Runkit is down the example still shows/exists on the page.


Error Downloading Datasets

I run this command as instructed:
python download.py --dataset MNIST SVHN CIFAR10
It seems to download things and then exits with an error message asking me to :
ValueError: Please at least specify one dataset to be downloaded.
Then when I try to run the script, it says the data has not been downloaded.

The datasets should be downloaded by executing the command you mentioned. Could you check the directory datasets/? Subfolders should contain both files named data.hy and id.txt.

The datasets directory has the following...
Directories
cifar10
mnist
svhn
Files:
cifar10.py
init.py
init.pyc
mnist.py
mnist.pyc
svhn.py
That's it.
The directories make me think that the data has infact been downloaded but when I try run
python script.py
I get this
IOError: Dataset not found. Please make sure the dataset was downloaded.
It is looking for mnist data and not finding it.

This is the entire stack trace from attempting to download the mnist data:
python download.py --dataset MNIST Downloading  train-images-idx3-ubyte.gz   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed 100 9680k  100 9680k    0     0   583k      0  0:00:16  0:00:16 --:--:--  660k Unzip  train-images-idx3-ubyte.gz Downloading  train-labels-idx1-ubyte.gz   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed 100 28881  100 28881    0     0  30671      0 --:--:-- --:--:-- --:--:-- 30659 Unzip  train-labels-idx1-ubyte.gz gzip: ./datasets/mnist/train-labels-idx1-ubyte already exists; do you wish to overwrite (y or n)? y Downloading  t10k-images-idx3-ubyte.gz   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed 100 1610k  100 1610k    0     0   415k      0  0:00:03  0:00:03 --:--:--  415k Unzip  t10k-images-idx3-ubyte.gz gzip: ./datasets/mnist/t10k-images-idx3-ubyte already exists; do you wish to overwrite (y or n)? y Downloading  t10k-labels-idx1-ubyte.gz   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed 100  4542  100  4542    0     0   7722      0 --:--:-- --:--:-- --:--:--  7711 Unzip  t10k-labels-idx1-ubyte.gz gzip: ./datasets/mnist/t10k-labels-idx1-ubyte already exists; do you wish to overwrite (y or n)? y Preprocessing data... Traceback (most recent call last):   File "download.py", line 200, in <module>     raise ValueError('Please at least specify one dataset to be downloaded.') ValueError: Please at least specify one dataset to be downloaded.

Please check if there are data.hy and id.txt under the directory ./datasets/mnist

Within the mnist folder there's:

t10k-images-idx3-ubyte

t10k-labels-idx1-ubyte

train-images-idx3-ubyte

train-labels-idx1-ubyte

Looks like the dataset is not well preprocessed. I would suggest you remove the directory ./dataets/mnist and try to download and preprocess MNIST dataset again with download.py . Also, please make sure the library progressbar is installed.

Hey.
So I discovered a small typo was at the root of all my troubles.
In 'download.py', you set the flag for adding arguments to be--datasetsthen in the documentation you give the command for downloading data with the flag as --dataset.
Adding the 's' made everything run as expected.


[NO-JIRA] Make TableModule Row Menu Sticky Again

Problem

Previous changes made it so you had to scroll to the end of a table's columns to access the hoverable context menu on a row
The desired effect is to see this context menu at all times, even on tables with tons of columns

BEFORE
AFTER

What Caused the Problem

Removal of a class, sticky, that made the menu stick to the right of the table
Since there were both sticky and isSticky classes, I took sticky for being redundant and removed it

Solution

Added class back to TableModule and TableModuleRow
Renamed it stickyMenuButton to eliminate future confusion

Thank you!


Support for push notifications

imjasonh on 22 May 2013 at 3:25:
API Push Notifications were recently announced and demoed at I/O
(http://www.youtube.com/watch?v=NlZZghBnfdM)

It would be great to have some of these common parts done by Go library code,
so a developer could skip having to rewrite the protocol code each time.

If the Discovery document exposes the requisite information, Go code could be
generated to allow developers to write something like:

svc.Playlists.Watch(playlistId).Do()
svc.Playlists.HandleNotification("/notifications", func(w http.ResponseWriter,
r *http.Request, p youtube.Playlist, s common.StateChange) {
    // Do something with the updated playlist
    // stateChange is an enum describing whether it's an insertion, update, or deletion operation
})

This would register a http.HandleFunc that parses the request headers to
determine the StateChange being described, and decode the JSON body into the
Playlist, and pass it to the func.

I'm not sure if Discovery documents expose enough information for this to be
possible, or if this is a good API surface, but it's worth looking into at
least.

Successfully auto-migrated from code.google.com:
https://code.google.com/p/google-api-go-client/issues/detail?id=32

The YouTube v3 JSON Discovery API doc doesn't appear to expose this feature which means that the auto-generated APIs can't automate the creation of the feature.  Closing as infeasible.


go-jira: 1.0.17 -> 1.0.23

Motivation for this change
Update to version 1.0.23
Go Jira Changelog 1.0.17 -> 1.0.23
1.0.22 - 2019-09-30

fix syntax [Cory Bennett] [807ca76]
Address comments for direct name match [Patrick Cockwell] [a70384b]
Choose exact transition match if available [Patrick Cockwell] [a646f76]

1.0.21 - 2019-09-16

[#277] update figtree to latest [Cory Bennett] [0e520a4]
Switch over to using github.com/go-jira/jira, from gopkg.in [Mike Pountney] [27f57b2]
fix worklog template to allow multiline comments [Matthias Bethke] [43e07f1]
Allow reading password from stdin [Justin Ko] [225e1dc]
all: unindent some code [Daniel Martí] [31c113d]
don't use ReadAll when decoding JSON [Daniel Martí] [9bcdcc1]
start making staticcheck happier [Daniel Martí] [9b9186f]
all: convert to a Go module [Daniel Martí] [f125ef3]
CI: test on Go 1.12.x, cleanup [Daniel Martí] [664c5ca]
make automatic pagination on search optional, fix tests [Cory Bennett] [36c99ce]
prefer defer resp.Body.Close to avoid leaks on subsequent errors [Cory Bennett] [181bd74]
add pagination to search [Miles Maddox] [76dd1d8]
Fix function comments based on best practices from Effective Go [CodeLingo Bot] [23ac118]
[#201] update required library, failing to populate cookiejar from cookies file [Cory Bennett] [ee69afa]

1.0.20 - 2018-08-04

[#201] update required library, failing to populate cookiejar from cookies file [Cory Bennett] [ee69afa]

1.0.19 - 2018-08-02

[#199] [#198] update http client library, fix issues with internal login retries [Cory Bennett] [0cba806]

1.0.18 - 2018-07-29

[#196] add jira session command to show session information if user is authenticated [Cory Bennett] [f592107]
[#192] fix template usage for 'fixVersions' in transition template [Cory Bennett] [c9a4e30]
move HandleExit to the jiracli package [Cory Bennett] [ef9b731]
they broke golang.org/x/net: ERROR: vendor/golang.org/x/net/proxy/socks5.go:11:2: use of internal package not allowed [Cory Bennett] [7191c77]
udpate deps [Cory Bennett] [d16bcc2]
udpate for figtree api changes [Cory Bennett] [07ba74b]
udpate to use latest dep, update figtree [Cory Bennett] [462ef1c]
[#171] change proposed PasswordPath to PasswordName [Cory Bennett] [213a7e0]
add pass path to config [dvogt23] [fa01ff5]

Things done

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

Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"

[x] Tested execution of all binary files (usually in ./result/bin/)

[x] Determined the impact on package closure size (by running nix path-info -S before and after)

before 44.4M
after 50.6M

[x] Ensured that relevant documentation is up to date

[x] Fits CONTRIBUTING.md.

The repo was renamed to go-jira/jira and the program to jira. Any thoughts about renaming the package name in all-packages.nix as well?

Thank you for your review @carlosdagos. I would be weary of changing the package name to strictly jira to avoid any confusion with Atlassian's Jira. Also I would think the packages remains most commonly known as go-jira despite the new repository.
Let me know what your thoughts are :smiley:.

Thank you for your review @kalbasit, I have addressed both comments, the maintained addition has been extracted into it's own commit and the branch has been rebased on top of latest master.

@GrahamcOfBorg build go-jira


Print step description on failure if available

Currently, the step descriptions do not seem to be printed when a scenario fails.
I think this PR will be useful for identifying the step that caused the failure more quickly when the number of steps is large or the scenario has high complexity.
before:
$ runn run testdata/book/failure_with_step_desc.yml
Always failure scenario with step desc ... failed to run testdata/book/failure_with_step_desc.yml: test failed on 'Always failure scenario with step desc'.steps[0]: (false) is not true
false
└── false => false

1 scenario, 0 skipped, 1 failure

after:
$ runn run testdata/book/failure_with_step_desc.yml
Always failure scenario with step desc ... failed to run testdata/book/failure_with_step_desc.yml: test failed on 'Always failure scenario with step desc'.steps[0] 'this is description': (false) is not true
false
└── false => false

1 scenario, 0 skipped, 1 failure

Special note
The formatting of output may need some tidying up 🤔

@nobuyo Thank you for your contribution!


module/script: precise output shall be \n terminated in wiki

Hello,
As I was playing with a simple module/script, I was not able to get a polybar display from a script output like:
printf "%s %02d" "<my_string>" 2
Or simpler,
echo -n <sth>
Not a C++ specialist but I believe it comes from the readline() function used in script.cpp (which need an explicit newline character to parse output)
Should this precision be put in the wiki section ? (that the script output shall be \n terminated)
Is it better if I make the request directly by editing the wiki section ?
Thanks, and congrats for this amazing project !

Yes, please clarify this directly on script module wiki page. Thanks :)
This never really occured to me that someone would not terminate their output with a newline.


Remove recursive descriptors from zson spec

These aren't implemented and don't seem worth the effort it would
require to support them.

I'm in the middle of reworking the spec around the binary format and one thing I was adding is a binary encoding of types with the idea that they are useful for lighter-weight keys in group-by, lookup record by value, etc.  The descriptor is really part of the type system so I would also move Descriptor from zson to zeek (or whatever we rename zeek to).  So while I totally agree with your point as things stand, I'm thinking they would be useful in the tighter-key realm.  Curious what people think.

Ah, good catch, thanks @philrz.  Pushed an update.


Designer - COVID Risk Survey - create image for Typeform Survey Final Page

Background
We have #62 in getting a quick turn around Typeform survey done in hopes of getting it on the LA dept of public health website this week. We are getting very close to wrapping that up, but it could use a few tweaks.
The survey can be taken here in its current state.
The most important one being that at the end of the Survey, we have a general list of 10 steps to battle COVID, but they don't look very appealing and there isn't much we can do style-wise on only one survey slide in Typeform. @BenRongey suggested that we create an image for them and just upload the image to the page.
We're hoping to enlist someone a quick image we can upload to the end of the survey, that makes the list more appealing and readable.

Details

Scenario: A user completes their survey

[ ] When I complete the survey
[ ] Then I see an image of 10 basic steps to fight COVID

Text form of the  10 tips.

10 Tips
Here are ten basic things that everyone should be doing all the time, starting today:

Wash your hands often with soap and warm water, rubbing all parts of your hands for 20 seconds (especially after you cough, sneeze or blow your nose). When you can’t wash your hands, use an alcohol-based hand sanitizer. If you can’t find any hand sanitizer in stores, make your own using this recipe.
Put alcohol-based hand sanitizer by the front door of your home and in your car. Try to make it a regular habit to have each person in your household use it each time they go in or out of the house or car.
Bump knuckles or elbows in public instead of shaking hands.
Avoid contact with high-touch surfaces in public places, such as doorknobs and handles, handrails, shopping cart handles, elevator buttons, light switches, and public transport seats. Use your elbow (or a gloved hand) to open doors.

Avoid close contact with people who are sick (especially if they are sneezing, coughing, or have runny noses).
Avoid crowds, especially in closed, indoor spaces. Limit unnecessary travel and contact.
Regularly clean and disinfect your home to remove germs, especially on high-touch surfaces with disinfecting wipes or a solution of bleach and water. Wiping surfaces such as doorknobs, light switches, handles, toilets, faucets, cell phones, countertops and steering wheels once a day is recommended (more if someone in your household is sick).
If you feel sick, take your temperature with a thermometer and stay home. Don’t go to work or school. Call your doctor, report your symptoms and ask for advice. Do not go to the emergency room or urgent care center unless it is an emergency. If you find you are having trouble breathing, have chest pain or have sudden confusion, don’t wait, call for help and dial 9-1-1.

@Mcscott142 @BenRongey here is a screenshot let me know if this works

@HauwaAguillard I think this works for our purposes. can you share the file with @BenRongey so he can see how it looks in the Typeform?

Do we know what size we are looking for?
P.S. I'm gonna push up what I have for now in a folder though and share here in a sec

@BenRongey uploaded image can be found here: https://drive.google.com/drive/folders/1f1F_PYxRsMyWw0CZmZu3QJwopUqMx8VT

@Mcscott142 I don't think this is going to work very well.  The image is automatically centered and it ends up a lil small.

Want to pair so we can figure out the right size?

It's totally ok if it doesn't work. Don't want y'all to expend too much effort on this.

Update:
Paired with @BenRongey and doesn't look like adding an image to the survey final page would work. However, we decided to go with what is currently there and added some spaces between each todo which should help improve the readability.
I'm tempted to close this ticket out as I consider this done, however, I shall move this to UAT and assign to @Mcscott142


Numbers before colons are deleted

Apparently the script mistakes numbers that are before the colons: as characters names and deletes them, for example when a time like 10:00 is mentioned, it appears as :00.
Maybe some kind of fix could be implemented to exclude numbers from the rule?
I know that is the reason because when using the --keep-names flag it doesn't happen.

Apparently I was a Docker/Bazarr related problem because now don't experience the problem after installing the script directly in the container via pip.


[KeyVault] - Add live tests for SKR in KV

SKR is not fully supported in Key Vault, only MHSM.
Once it is available globally in KV implement the following changes:

[ ]  Remove enableHsm conditions on mock attestation service elements in test-resources.json to install unconditionally
[ ] Add the same suite of tests for SKR in keyClient.spec.ts

As of today, KV does not support it yet so we need to push this off


how to create a table map for 100 tables in 1 database

[Enter feedback here]
while moving the database using powershell i have 100 tables in 1 database. so is there any way of doing table mapping with some loop aur some logic so that i won't have to write name of every table manually in  it?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 07d69e62-9260-457d-2acd-028bdfa0a0a4
Version Independent ID: b8b83251-c237-a31f-60dc-2db8337192c9
Content: PowerShell: Migrate SQL Server to SQL Database - Azure Database Migration Service
Content Source: articles/dms/howto-sql-server-to-azure-sql-powershell.md
Service: dms
GitHub Login: @pochiraju
Microsoft Alias: rajpo

@shubhi97  Thank you for posting your question. Are you referring to Azure SQL, MI, SQLVM.?

@shubhi97 It is been some time we haven't heard from you. Does this mean your issue is resolved.? Please let us know if you are referring to Azure SQL, MI,SQLVM? Thanks

@Oury-MSFT sorry for the delay.
I am migrating the data to Azure SQL from On-premises.

@shubhi97 Please send us email at<EMAIL_ADDRESS>with more specifics about your migration and downtime requirements that migration needs to meet. We need to understand the size of the databases, if all these databases needed to be migrated in a single migration window or can be migrated in phases as mentioned by @pochiraju . I will close this Git Issue for now as a duplicate to this one .


Add READMEs for All, Any and Arrow types

Seems like an OKAY start

These are the first in a series of Readmes to be added. This is another step in the Quest for monorepo.
Both All and Any did not require any API changes, while there was no need to keep value for Arrow as it no longer is used as a "traditional" Monoid as it was before Category was a thing.
This is a BREAKING API change. No depreciation, just dropping it.

Coverage remained the same at 100.0% when pulling 26ae7a153e041f2be0d85a9b13d0e75fd6624ed8 on readmes into 06629112d4fe89956067030878a0d2fb2f8ac296 on master.

Coverage remained the same at 100.0% when pulling 26ae7a153e041f2be0d85a9b13d0e75fd6624ed8 on readmes into 06629112d4fe89956067030878a0d2fb2f8ac296 on master.

Coverage remained the same at 100.0% when pulling 1a6370801998d4da4f2dd8b80c5b35aec666ae8b on readmes into 06629112d4fe89956067030878a0d2fb2f8ac296 on master.

Actually I am okay with these examples. They are not so bad.
Merging.


Allow method calls without explicit receiver in object descriptions

This PR allows method calls without explicit receiver in object descriptions:
class Types::UserType < Types::BaseObject
  description t(:user_type)
end

Currently method calls are allowed on constants and strings.
Also, this PR does some clean up:

Special case for calling I18n.t (:has_i18n_description?) is not needed as it is covered by (send const ...) pattern in DescriptionMethod
I simplified DescriptionMethod::DESCRIPTION_STRING. I believe this simplification is correct but please recheck. This is my first time with rubocop node patterns:

{({str|dstr|const} ...)|(send const ...)|(send ({str|dstr} ...) _)} we start with this
{({str|dstr|const} ...)|(send {const|str|dstr} ...)} combine sends
({str|dstr|const|send} ...) it doesn't really matter who is the receiver of the call (allow nil receiver too)
{str|dstr|const|send} remove redundant ...

P.S. hacktoberfest-accepted label will be appreciated but not strictly required :)
Also, for more visibility to rubocop-graphql you might consider adding the hacktoberfest topic to the repository. But I believe you already know about https://hacktoberfest.com/


Packaged release changes for 0.2.6

Codecov Report

Merging #3101 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3101   +/-   ##
=======================================
  Coverage   70.75%   70.75%
=======================================
  Files         358      358
  Lines       22951    22951
  Branches     3529     3529
=======================================
  Hits        16238    16238
  Misses       5617     5617
  Partials     1096     1096

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 a6b8fd8...5fdebcd. Read the comment docs.


Can't connect to Dyson Pure Cool Link TP02 purifying fan (White/Silver)

It is discovered using my cloud account, and I've identified the IP address via an IP Scanner (has name matching serial # so sure that is correct IP).
I get the error:
Failed to connect. The IP Address may be required if your Home Assistant installation is running in a Container or a VM.
No complicated networking or firewalls in between.

I've also tried getting my credentials manually and using manual setup, but still can't connect.
Is the  Dyson Pure Cool Link TP02 supported?

Hi @Agile-Travel! Sorry for the slow reply. The TP02 is supported, but you're not the only person who has reported issues with it in the past few weeks. Are you able to enable debug logging for the integration, then re-attempt connection to the device? That would be awesome!
Let me know if you would like any more info for debug logging.

I believe I may have the same issue with a HP04, the debug logs just show:
2023-11-19 02:02:23.276 DEBUG (MainThread) [custom_components.dyson_local.config_flow] Failed to connect to device:

I have a similar issue with my HP04, while the error message shows "unknown error occurred" and the debug logs are as follow:
2023-11-19 01:58:38.597 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 63, in with_admin
    return await func(self, request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 177, in post
    return await super().post(request, flow_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
    result = await method(view, request, data, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 293, in async_configure
    result = await self._async_handle_step(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 422, in _async_handle_step
    result = await self.async_finish_flow(flow, result.copy())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 978, in async_finish_flow
    title=result["title"],
          ~~~~~~^^^^^^^^^
KeyError: 'title'

Just tried again and it worked... 🤷♂ No idea why though

I have the same issue with my Dyson Pure Hot+Cold ( Device model 527 ). Dyson app works and I can ping the address but it looks like setup times out. I have tried config flow and manual setup as well as moving the device in different subnets to no avail.
As per what charlesomer posted all I get with debug logging enabled :
"2023-11-23 10:20:02.347 DEBUG (MainThread) [custom_components.dyson_local.config_flow] Failed to connect to device:"
Nothing after the ":" .
Thanks

It feels like something has changed. The past few weeks people have been having difficult-to-reproduce errors with a wide variety of Dyson Fan devices. One thing clear to me is this: I need to improve the error logging to make this easier to reproduce.
I'll get a release out that improves logging, hopefully we can find an answer for you all soon!

Okay, better logging is still forthcoming, but in the meantime I wonder if the new release happens to have improved the situation. @ufu-  @SungFeng-Huang  @Agile-Travel any changes after updating?

I've also released the logging improvement in v1.3.4. If you happen to have time, please update then enable debug logging so we can get a clearer picture of what's happening.
Thanks!

Thanks so much for working on this plugin and this issue.
Here is the updated error when on 1.3.4:
2023-12-02 20:01:37.471 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File "/config/custom_components/dyson_local/config_flow.py", line 400, in _async_try_connect
device.connect(host)
File "/config/custom_components/dyson_local/vendor/libdyson/dyson_device.py", line 115, in connect
raise DysonConnectTimeout
custom_components.dyson_local.vendor.libdyson.exceptions.DysonConnectTimeout
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
response = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
result = await handler(request, **request.match_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 63, in with_admin
return await func(self, request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 177, in post
return await super().post(request, flow_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
result = await method(view, request, data, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 293, in async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 389, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dyson_local/config_flow.py", line 309, in async_step_host
data = await self._async_get_entry_data(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dyson_local/config_flow.py", line 358, in _async_get_entry_data
await self._async_try_connect(serial, credential, device_type, host)
File "/config/custom_components/dyson_local/config_flow.py", line 404, in _async_try_connect
_LOGGER.debug(f"Failed to connect to device: {err.name}, {err}")
^^^^^^^^^^^^
AttributeError: 'DysonConnectTimeout' object has no attribute 'name'

@Agile-Travel wow I could have sworn I'd already replied here. I owe you an apology.
In your logs, you're getting DysonConnectTimeout with a whole bunch of noise. The noise is my fault for trying to log the error incorrectly (I fixed that in 1.3.5 lol).
DysonConnectTimeout means that the fan is not acknowledging the connection attempt. This is the first time I've seen that behavior for the TP02, which is frustrating. There isn't much we can do unfortunately. Can you unplug and plug-in your device, then try to connect again?

Okay, better logging is still forthcoming, but in the meantime I wonder if the new release happens to have improved the situation. @ufu- @SungFeng-Huang @Agile-Travel any changes after updating?

Problem solved in v1.3.6! Thanks @dotvezz!

It still was not able to connect.  On mobile so can’t grab logs atm
On Mon, Dec 18, 2023, at 7:51 PM, Sung-Feng Huang wrote:

Okay, better logging is still forthcoming, but in the meantime I wonder if the new release happens to have improved the situation. @ufu- https://github.com/ufu- @SungFeng-Huang https://github.com/SungFeng-Huang @Agile-Travel https://github.com/Agile-Travel any changes after updating?

Problem solved in v1.3.6! Thanks @dotvezz https://github.com/dotvezz!
—
Reply to this email directly, view it on GitHub https://github.com/libdyson-wg/ha-dyson/issues/86#issuecomment-1862073561, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQGLNLA2G7FRLHNKZCMVSW3YKEFMVAVCNFSM6AAAAAA655F3H2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNRSGA3TGNJWGE.
You are receiving this because you were mentioned.Message ID: @.***>

How did you get on with this?

I hope this will help some of you; I had the issue for quite a long time and nothing seemed to solve it: I kept getting time out error and if I checked the IP address, it would respond to pings, but the MQTT port was not available ( 1883/TCP ).
Finally the solution was to factory reset the unit ( simultaneously hold power on both the unit and the remote for 10 seconds while the device is on ) and re-connect it to wifi and it started to work instantly.

Hi,
I can't connect my HP04 too. It worked fine two month ago.... I treid to factory reset and re-add the HP04 on my mobile app several times but can't detect on homeassitant.
Here the debug logs :
Logger: homeassistant.config_entries
Source: config_entries.py:605
First occurred: 18:17:17 (1 occurrences)
Last logged: 18:17:17
Error unloading entry MyDyson<EMAIL_ADDRESS>(FR) for dyson_local
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 605, in async_unload
result = await component.async_unload_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dyson_local/init.py", line 187, in async_unload_entry
device = hass.data[DOMAIN][DATA_DEVICES][entry.entry_id]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: 'a5a9de0eb6a03cadcc3adff98e121a9a'
Thanks for some help.


TileSet.is_tile_bound() is not documented

Your Godot version:
3.2.1 stable
Issue description:
TileSet.is_tile_bound() is not documented
URL to the documentation page:
https://docs.godotengine.org/en/3.2/classes/class_tileset.html#class-tileset-method-is-tile-bound

This should be documented here (under the <description> tag):
https://github.com/godotengine/godot/blob/ec1bf96e412b7a207ffb55d6acd56b25eb25845f/doc/classes/TileSet.xml#L39-L48


Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
Other
Brief description of your issue
I have a Foxit reader installed (configured to show in spanish).
Afert winget update the program shows in english difficulting the work and re-configuration to no inglish speakers.
Steps to reproduce

Install an old version of Foxit reader
Configure to use spanish (restart of the program is required)
Upgrade with winget as usual.

Actual behavior
Afert winget update the program shows in english difficulting the work and re-configuration to no inglish speakers.
Expected behavior
The installer should mantain the languaged configured. Actually only the en-US language version is linked to donwload by winget.
The miltilingual version should be linked instead. Here you can see the difference:

Only en-US version (actual) https://cdn01.foxitsoftware.com/product/reader/desktop/win/12.1.1/FoxitPDFReader1211_enu_Setup_Prom.exe
Multilingual version (desired or more appropiate) https://cdn01.foxitsoftware.com/product/reader/desktop/win/12.1.1/FoxitPDFReader1211_L10N_Setup_Prom.exe

Environment
winget --info
Administrador de paquetes de Windows v1.4.10173
Windows: Windows.Desktop v10.0.19045.2604
Arquitectura del sistema: X64
Paquete: Microsoft.DesktopAppInstaller v1.19.10173.0

Screenshots and Logs
No response

@elreymon The InstallerUrl has been updated. Can you please check again to see if the issue has been resolved for you?

Works fine. Thanks a lot.


2017 Subaru XV still blocked

Can't seem to unblock. I've followed the instrutions on the video about editing using apk editor Pro (no longer available in Gplay btw) and followed the instructions properly. Still can't seem to get the app to show in the car. HELP PLEASE. I've also made sure my android app is in developer mode and still can't see carstream on the car screen.

See issue #116
Or
Uninstall Android Auto 3.0, Install Android Auto 2.9 or below, disable automatic updates on Play Store's Android Auto Page, re-enable unknown sources

I just tried installing 2.9 apk, but it says it's not compatible with my phone . Samsung Galaxy S7 running android version 7.0

See issue #116

Finally got through to those websites. Will have to grab my windows laptop because currently on my mac. Will keep you posted. Thank you for the reply.

Got it working!!!!! on 3.0! All i had to do was follow those prompts on the link you had sent me and it worked! thank you so much!


Remove some info endpoints on Grch37 release/102

Same as https://github.com/Ensembl/ensembl-rest/pull/442

Coverage increased (+0.02%) to 44.461% when pulling 8f7d92b8005f0a4250032ca4809ff2edd759b872 on tuanebi:release/102 into 92327b3f7d906ab0dbb1c20333fe90ea4e046bc8 on Ensembl:release/102.


Add date range for top sort and add more data

Description

Add a way to change date range (Last 7 days, Last 30 days, All time) for top sort
Add browser and screen resolution
Add new label for recent and new sort instead of Last 7 days
Add unit test for getDateRange function

Screenshots

Pull Request Test Coverage Report for Build 306

81 of 130 (62.31%)  changed or added relevant lines in 18 files are covered.
3 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-1.5%) to 58.385%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/aggregations/aggregateTopFields.js
6
7
85.71%

src/aggregations/aggregateTopFieldsMultiple.js
9
10
90.0%

src/database/languages.js
2
3
66.67%

src/database/pages.js
2
3
66.67%

src/database/referrers.js
2
3
66.67%

src/utils/getDateRange.js
6
9
66.67%

src/routes/languages.js
1
5
20.0%

src/routes/pages.js
1
5
20.0%

src/routes/referrers.js
1
5
20.0%

src/routes/sizes.js
1
5
20.0%

Files with Coverage Reduction
New Missed Lines
%

src/routes/languages.js
1
38.1%

src/routes/pages.js
1
38.1%

src/routes/sizes.js
1
38.1%

Totals

Change from base Build 300:
-1.5%

Covered Lines:
431

Relevant Lines:
646

💛  - Coveralls

Shouldn't we remove the following code from the recent aggregations as it isn't "Last 7 days" anymore?
created: {
	$gte: subDays(zeroDate(), 6)
}

Yes totally! I'm removing it as it does not make sense now.

Make sure to merge my changes before you continue https://github.com/electerious/Ackee/tree/RomainCscn-feature/add-top-date-range

Ok will do! Thanks.

I think we're good here @electerious, what do you think?

Merged it 👏


RESTCapableHybridTopologyFactory energy validation fails for small molecules in solvent

When helping @ijpulidos with https://github.com/choderalab/perses/pull/1065, we noted that when generating a RESTCapableHybridTopologyFactory for CCC->CCCC or CCCC->CCC, the endstate energy validation test (validate_endstate_energy_point) was failing due to an energy mismatch in the nonbonded energies:
HarmonicBondForce -- og: 0.2884397711171602, hybrid: 0.2884397711171602
HarmonicAngleForce -- og: 0.2349820210951548, hybrid: 0.2349820210951548
PeriodicTorsionForce -- og: 0.02640257025445306, hybrid: 0.02640273818280852
Nonbondeds -- og: 2204.7912252873475, hybrid: 2204.905449988426
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
Input In [7], in <cell line: 3>()
      1 # original
      3 for endstate in [0, 1]:
----> 4     validate_endstate_energies_point(htf, endstate=endstate)

File ~/miniconda3/envs/perses-paper4-dev/lib/python3.9/site-packages/perses/tests/utils.py:992, in validate_endstate_energies_point(input_htf, endstate, minimize)
    987 nonbonded_hybrid_values = [components_hybrid[key] for key in components_hybrid.keys()
    988                            if key not in bonded_keys_other_to_hybrid.values()]
    989 print(
    990     f"Nonbondeds -- og: {components_other['NonbondedForce']}, hybrid: {np.sum(nonbonded_hybrid_values)}"
    991 )
--> 992 assert np.isclose([components_other['NonbondedForce']], np.sum(nonbonded_hybrid_values))
    994 print(f"Success! Energies are equal at lambda {endstate}!")

AssertionError:

I investigated and found that the energy mismatch comes from the dispersion/long range correction. If I turn the dispersion correction off in the old and new systems (before generating the htf), then the test passes.
I next wondered whether the energy mismatch arises because I split up the steric interactions into separate forces -- one for scaled interactions (CustomNonbondedForce_sterics) and one for nonscaled interactions (NonbondedForce_sterics). Splitting up the interactions across two forces could cause the long range correction to be computed slightly differently than if all interactions were computed in one force.
To test this, I commented out these lines that add interaction groups to the CustomNonbondedForce_sterics so that the CustomNonbondedForce_sterics now contains all scaled and nonscaled interactions. I then generated a htf, deleted the NonbondedForce_sterics (previously used for nonscaled steric interactions), and then ran the energy validation test and it passed.
HarmonicBondForce -- og: 0.2884397711171602, hybrid: 0.2884397711171602
HarmonicAngleForce -- og: 0.2349820210951548, hybrid: 0.2349820210951548
PeriodicTorsionForce -- og: 0.02640257025445306, hybrid: 0.02640273818280852
Nonbondeds -- og: 2204.791225287342, hybrid: 2204.7922074738963
Success! Energies are equal at lambda 0!
HarmonicBondForce -- og: 0.16658791561165553, hybrid: 0.16658791561165553
HarmonicAngleForce -- og:<PHONE_NUMBER>5162605, hybrid:<PHONE_NUMBER>5162597
PeriodicTorsionForce -- og: 0.02748946113190618, hybrid: 0.027489572865829537
Nonbondeds -- og: 2206.729493784189, hybrid: 2206.7304108909084
Success! Energies are equal at lambda 1!

Note that this long range correction energy discrepancy only seems to affect the solvent phase for small molecules, not the complex phase. For example, if I run bace2 with ligands 9 and 15 (in data/bace_example/Bace_ligands_shifted.sdf), the test passes:
HarmonicBondForce -- og: 1964.2670795763452, hybrid: 1964.2670795763452
HarmonicAngleForce -- og: 5112.6081405340865, hybrid: 5112.608140534087
PeriodicTorsionForce -- og: 8121.348763932069, hybrid: 8121.350440506907
Nonbondeds -- og: -339386.6319977214, hybrid: -339386.6401120513
Success! Energies are equal at lambda 0!
HarmonicBondForce -- og: 1967.2323969685465, hybrid: 1967.2323969685465
HarmonicAngleForce -- og: 5129.712507300623, hybrid: 5129.712507300623
PeriodicTorsionForce -- og: 8122.048463707788, hybrid: 8122.05014139802
Nonbondeds -- og: -339271.6857312901, hybrid: -339271.6938485515
Success! Energies are equal at lambda 1!

The nonbonded energies are large enough here that the long range correction discrepancy isn't noticeable, so the test passes.
However, the energy discrepancy is present when I run solvent phase for the same Bace2 ligands:
HarmonicBondForce -- og: 4.885286522448572, hybrid: 4.885286522448571
HarmonicAngleForce -- og: 31.586481788165568, hybrid: 31.586481788165568
PeriodicTorsionForce -- og: 10.842469171597777, hybrid: 10.842479000280184
Nonbondeds -- og: 1961.5807174908334, hybrid: 1961.7100125097277
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
Input In [3], in <cell line: 5>()
      2 from perses.tests.utils import validate_endstate_energies_point, validate_endstate_energies_md
      5 for endstate in [0, 1]:
----> 6     validate_endstate_energies_point(htf, endstate=endstate)

File ~/miniconda3/envs/perses-paper4-dev/lib/python3.9/site-packages/perses/tests/utils.py:992, in validate_endstate_energies_point(input_htf, endstate, minimize)
    987 nonbonded_hybrid_values = [components_hybrid[key] for key in components_hybrid.keys()
    988                            if key not in bonded_keys_other_to_hybrid.values()]
    989 print(
    990     f"Nonbondeds -- og: {components_other['NonbondedForce']}, hybrid: {np.sum(nonbonded_hybrid_values)}"
    991 )
--> 992 assert np.isclose([components_other['NonbondedForce']], np.sum(nonbonded_hybrid_values))
    994 print(f"Success! Energies are equal at lambda {endstate}!")

AssertionError:

I am raising this issue so that we can discuss this at the next dev sync. I'm not sure if we want to avoid running small molecule transformations with the RESTCapableHybridTopologyFactory in the future, or if we just want to make a note in the docstring of the class / in the tests that this is a known problem.

Note that Iván generated htfs using the vanilla HybridTopologyFactory for CCC->CCCC and the energy validation test yields the following results:
with dispersion correction off:
zero state error: 1.96084504011651e-05, one state error: 0.0005264199693243432

with dispersion correction on:
zero state error: -0.8331827929622193, one state error: -0.6370180463873197

so I think the dispersion correction energy discrepancy is likely a problem in the HybridTopologyFactory as well, since there are two forces handling steric interactions as well.

We discussed this at the perses dev sync 9/6/22 and we decided that we should keep this issue open to address this discrepancy in the future.


Do not test TSC in bootstrap

This seems like a leftover from the integrated TSC days. TSC has its own CI these days, so this shouldn't be necessary anymore.
Opening as a draft first, because we may need to adjust build-script to actually test TSC independently of SwiftPM's bootstrap.

Verified in https://github.com/apple/swift-tools-support-core/pull/226 that the TSC tests still get run, so this can be merged as is.

@swift-ci please smoke test

late lgtm


Need to check for mysql_thread_safe() at startup

Hi Roland
Does sqlpp11 work with Microsoft sqlserver?
Regards
Juan dent
Sent from my iPhone

On Apr 17, 2016, at 9:20 AM, Roland Bock<EMAIL_ADDRESS>wrote:
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

Done.


Beautiful triplets problem: C# solution

Added a new solution for beautiful triplets problem using C# programming language.

Seems like I've some misunderstanding how Git works. I'm explaining here how I try to accomplish things when I've worked on more than one problem in parallel and am try to create pull request for them one by one in quick succession without waiting for my first pull request to get approved.
I always want that you see every pull request as a pocket check-in where each pull request contains the affected files of exactly one solution. The problem that I'm unable to solve is that how the readme.md file changes of second pull request will contain the changes in an earlier pull request else you might see those lines as deleted. Isn't it? Here is my approach:

Go to master. Commit and push first solution. Create pull request # 1 from master branch.
Create a new branch from master so that it contains all the changes of pull request # 1. If I don't do so my presumption is that when I create pull request # 2 then you might see the solution # 2 files as add but solution # 1 files might be seen as deleted or non-existent. Let's call the new branch nb1. Now commit and push second solution into nb1. Create pull request # 2 from nb1.
Now create a new branch from nb1 so that it contains all the changes of pull request # 1 and 2 cumulatively. Let's call it nb2. Now commit and push third solution into nb2. Create pull request # 3 from nb2.

While looking at the pull request I could clearly see that it is showing the commit history of previous pull requests as well and I was kinda sure that it is ok else new pull request will kill the changes of previous pull requests. Kindly advise what is wrong here. How should I approach creating multiple pull request so that each pull request contains changes done in exactly one solution without overwriting previous ones.

It won't delete files if you branch from the original and add a solution
and update the readme.
Github doesn't remove files if they do not exist, it only removes them if
you have them and then deleted them. Otherwise it just merges them all
together when I accept the pull request.
So in review all you have to do is branch from master which should be the
current version up on Github and then add your solution, update the readme,
and submit a pull request from that branch.
Then just repeat this for all of the solutions you would like to submit.
I can then just accept each one individually and they will all merge
together just fine as they are editing different files/different parts of
files.
On Fri, Dec 29, 2017 at 3:59 PM, Rasik Bihari Tiwari <
<EMAIL_ADDRESS>wrote:

Seems like I've some misunderstanding how Git works. I'm explaining here
how I try to accomplish things when I've worked on more than one problem in
parallel and am try to create pull request for them one by one in quick
succession without waiting for my first pull request to get approved.
I always want that you see every pull request as a pocket check-in where
each pull request contains the affected files of exactly one solution. The
problem that I'm unable to solve is that how the readme.md file changes
of second pull request will contain the changes in an earlier pull request
else you might see those lines as deleted. Isn't it? Here is my approach:

Go to master. Commit and push first solution. Create pull request #
1 from master branch.
Create a new branch from master so that it contains all the changes
of pull request # 1. If I don't do so my presumption is that when I create
pull request # 2 then you might see the solution # 2 files as add but
solution # 1 files might be seen as deleted or non-existent. Let's call the
new branch nb1. Now commit and push second solution into nb1. Create pull
request # 2 from nb1.
Now create a new branch from nb1 so that it contains all the
changes of pull request # 1 and 2 cumulatively. Let's call it nb2. Now
commit and push third solution into nb2. Create pull request # 3 from nb2.

While looking at the pull request I could clearly see that it is showing
the commit history of previous pull requests as well and I was kinda sure
that it is ok else new pull request will kill the changes of previous pull
requests. Kindly advise what is wrong here. How should I approach creating
multiple pull request so that each pull request contains changes done in
exactly one solution without overwriting previous ones.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/RyanFehr/HackerRank/pull/98#issuecomment-354499837,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AS2Z7aBAoaKgRT4lQ30Q52hohrLyvt0Kks5tFVK1gaJpZM4ROyZq
.

--
__
Ryan Fehr
| LinkedIn https://www.linkedin.com/in/ryan-fehr-297762106 | Personal
website http://www.ryanfehr.tech |

Cool. I'm closing this pull request. I'll create new pull request as per the new strategy we discussed.


API Create request is timing out when auto review request is submitted

Increase time out to 300 sec instead of default 100 second to check. API create step involves installing all required package and this causes to time out request for few packages for e.g. azure-storage-file-share. In addition to installation of required packages, this also involves reading all revision files from cosmos db and blob. Currently we are using cost reduced resources but this can be revisited later. For now, increase time out to verify if it works for these packages.

This is not required any more due to sandboxing changes,


checkbox value + .visible

Hi everyone,
In a bootstrap project (i'm dev newbie), i would like to replace a yes/no dropdown list by a checkbox toggle button.
with the following code :
'...
label for="dc" class="col-sm-12 control-label">DC</label
...
label for="imc" class="col-sm-12 control-label">IMC</label
...
div class="col-sm-12" name="test_1Div"
...
input type="checkbox" name="d_c" id="test_1" style="" required
...
div class="col-sm-12" name="test_2Div"
...
input type="checkbox" name="i_m_c" id="test_2" style="" required
...
'
and following javascript :
``
when test_1 button is checked, i've got "on" writed in database, and "NULL" when button is left "off".
But when i try to modify a record, i'm unable to get the button checked when value is "on".
Is there anybody to help me about that ?
Second point : is there any opportunity to get the test_2 button visibility property to NO when test_1 is unchecked, and YES when test_1 is checked ?
... and force test_2 value to "NULL" when test_1 is unchecked ?
Thanks for any help or suggestion.
Best regards

I'm unclear on what you're looking for.
The docs on Event Propagation may help you.


Updates

Codecov Report

Merging #95 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #95   +/-   ##
=======================================
  Coverage   80.51%   80.51%
=======================================
  Files           8        8
  Lines         154      154
  Branches        7        7
=======================================
  Hits          124      124
  Misses         30       30

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 a5d6f40...35578cf. Read the comment docs.


staking contract : migration has a problem

below migration function issue
The migrate function transfers the reward tokens to the new staking contract.
But it doesn't transfer the staked tokens to the new contract.
I think it's the problem.
After migration, new staking contract can't unbond the staked tokens back to the users.
The users still have to unbond from the old contract.
So migration can't reach its purpose.
I think, in migration there should be another transfer of staked tokens.
I hope to know that I was wrong. So please let me know if I misunderstood.
`
    if sender_addr_raw != config.governance {
        return Err(StdError::generic_err("unauthorized"));
    }

    let mut state: State = read_state(deps.storage)?;

    // compute global reward, sets last_distributed_seconds to env.block.time.seconds
    compute_reward(&config, &mut state, env.block.time.seconds());

    let total_distribution_amount: Uint128 =
        config.distribution_schedule.iter().map(|item| item.2).sum();

    let block_time = env.block.time.seconds();
    // eliminate distribution slots that have not started
    config
        .distribution_schedule
        .retain(|slot| slot.0 < block_time);

    let mut distributed_amount = Uint128::zero();
    for s in config.distribution_schedule.iter_mut() {
        if s.1 < block_time {
            // all distributed
            distributed_amount += s.2;
        } else {
            // partially distributed slot
            let whole_time = s.1 - s.0;
            let distribution_amount_per_second: Decimal = Decimal::from_ratio(s.2, whole_time);

            let passed_time = block_time - s.0;
            let distributed_amount_on_slot =
                distribution_amount_per_second * Uint128::from(passed_time as u128);
            distributed_amount += distributed_amount_on_slot;

            // modify distribution slot
            s.1 = block_time;
            s.2 = distributed_amount_on_slot;
        }
    }

    // update config
    store_config(deps.storage, &config)?;
    // update state
    store_state(deps.storage, &state)?;

    let remaining_anc = total_distribution_amount.checked_sub(distributed_amount)?;

    let reward_token: Addr = deps.api.addr_humanize(&config.reward_token)?;

    Ok(Response::new()
        .add_messages(vec![CosmosMsg::Wasm(WasmMsg::Execute {
            contract_addr: reward_token.to_string(),
            msg: to_binary(&Cw20ExecuteMsg::Transfer {
                recipient: new_staking_contract,
                amount: remaining_anc,
            })?,
            funds: vec![],
        })])
        .add_attributes(vec![
            ("action", "migrate_staking"),
            ("distributed_amount", &distributed_amount.to_string()),
            ("remaining_amount", &remaining_anc.to_string()),
        ]))
}

`

I don't think this is an issue.
We cannot update user's bond amount, so it's good to keep staked tokens in old staking contract.
This will allow users to unbond their staked tokens and bond to new staking tokens to get reward.


Question about Denoiser Residual Block

Hello, I have a question about the structure of the denoiser's residual blocks.
The paper states that the model was inspired by DiffWave, but there is a slight difference between their architectures.
DiffSinger directly adds the step embedding to the input in every block, whereas in DiffWave every block has an extra FC layer that processes the step embedding before adding it.
What is the reason behind this change? Is there a performance difference?

Hello, I have a question about the structure of the denoiser's residual blocks. The paper states that the model was inspired by DiffWave, but there is a slight difference between their architectures. DiffSinger directly adds the step embedding to the input in every block, whereas in DiffWave every block has an extra FC layer that processes the step embedding before adding it. What is the reason behind this change? Is there a performance difference?

We didn't set this on purpose. The details of these network structures should have little impact on performance.


Scheme and transparent proxy don't use X-Forwarded-Proto

What version of Caddy are you using (caddy -version)?
0.11.1
What is your entire Caddyfile?
# cat Caddyfile
somedomain:80 {
   log / stdout "Scheme: {scheme}"
}
# caddy
Scheme: http
Scheme: http
Scheme: http
Scheme: http

When performing a request to https://somedomain (which is an external TLS proxy to somedomain:80 with X-Forwarded-Proto set to https).
You should clarify what the {scheme} placeholder does. At the moment it reads the caddyfile scheme, maybe there should be a {request_scheme} that takes into account X-Forwarded-Proto?

P.S. this issue affects http.proxy with the transparent option, since it uses the {scheme} placeholder for upstream headers. Getting an https request and proxying it as http is not transparent.

The simplest way to reproduce this:
# cat Caddyfile
somedomain:80 {
   log / stdout "{scheme}"
}
# caddy
http
http
http
http

While running curl https://somedomain with a Cloudflare server sending X-Forwarded-Proto: https.

@francislavoie I know how to fix it, but the default behaviour is problematic.

As-is, I disagree. It seems to be working as intended. Since you're listening on port 80 with no TLS, then that means the scheme is http. It would be lying if Caddy passed along https to the backend.
Maybe I don't understand what you're trying to do?

I'm going to close this but feel free to continue the discussion


First, stunning plugin, thanks so much for supporting the indie web!
I've added mkdocs-rss-plugin to my blog and it worked (almost) flawlessly.
https://du.nkel.dev/
The images shown in the description do not contain the full URL:
https://du.nkel.dev/feed_rss_created.xml
e.g.:
<img alt="hifi" src="img/hifi.jpg">

.. which is why they are not shown in preview.
Would it be possible to add this full url somwhere in the settings?

Hi @Sieboldianus,
Thanks for your interest and your kind message :).
To help, can you share the repository behind your blog with your mkdocs configuration file please?

Hi @Guts . Yes. I had this on my personal Gitlab, pushed it here to the public:
https://framagit.org/Sieboldianus/du.nkel.dev

Thanks.
I've tried to set up your site locally but I can't find requirements and i'm facing missing dependencies. WOuld you list them somewhere please to make debugging easier?

So, maybe it requires some clarification about how the plugin handle different images:

you can set the channel (= the whole feed) image with the image settings. ref doc.
if you want an image per feed item (per page in case of blog), you need to specify the image to use within the page meta (YAML frontmatter): ref doc

From what I can see in your content, there is no specified image.
About the path to the image within page body, it's not related to the plugin but how the content is processed by mkdocs. The body is included as item description as almost raw HTML (or specified through page.meta.description).

About the path to the image within page body, it's not related to the plugin but how the content is processed by mkdocs. The body is included as item description as almost raw HTML (or specified through page.meta.description).

Ok - thank you for the clarification and for looking into this. This makes sense - in this case I'd have to either

use an absolute image URL for the first image in each post, as this may appear in the clipped summary of RSS .description.
or specify page.meta.image explicitly with a full image URL.  page.meta.image. In this case, the relative image in the RAW description would still appear broken, but it would be shown through the page.meta.image

I think this works for me. Many thanks! And kudos for this plugin. 👍


Module 1.1 Assignment

Given what you have learned about Git, why would you want to use Git in your classroom?

I want to be able to assign code to a group of students smoothly and I want to be able to grade it more efficiently.


Update SQL for bird-tracking-wmh

Note: Data verified for unpublished version on 2015-10-06. Metadata has been not yet been updated (waiting for gull data paper).
Changes to apply:

[x] Use DOI as datasetID (once issued)

Questions:

[x] Is the datasetName OK?

[x] What do we choose as organismID? Ideally it should be a code that is used internationally and across projects. For gull we chose ring_code. https://github.com/LifeWatchINBO/bird-tracking-wmh-occurrences/issues/6 Candidates:
```
device_info_serial: 586
bird_name:          Mia
color_ring_code:    -
ring_code:          H173481
```

[x] Do all the fields in bird_tracking_devices make sense in the context of wmh?

[ ] Do outlier criteria make sense for wmh?

Outliers will be addressed in data paper. Ring code seems most logical one (cf. gulls). Name and device_info_serial available in other fields.


Get Orders Export By Search Endpoint

Add Get Orders Export By Search Endpoint (/orders/search/export)
fixes #143

I had pushed the paw file earlier to both PRs ... so they were the same.  But, did a merge from master to the PR ... so, the latest version pushed up now.

That explains why github was showing no conflict.