initial implementation of AMQP channels

JIRA reference: https://jira.springsource.org/browse/INT-1878
@garyrussell @olegz @ghillert

Given that these channels are tied to Rabbit (rather than generic amqp), I wonder if they should be <int-amqp:rabbit-channel /> etc.
I have no issues with the hard-wired exchange/queue names. I suppose we could allow specification of the name prefixes, and default to what you have now.

I'm thinking maybe we should just allow specification of the Exchange and Queue names. Then, we technically don't have to depend on RabbitMQ. If no name is provided though, and we therefore need to create the Exchange and Queue ourselves, then it would throw an Exception if not able to cast to RabbitTemplate (from AmqpTemplate) since it would need to use RabbitAdmin.

regarding the NPE, I think we really need to address that by adding an assertion in AbstractDispatcher. After a quick check, there are many places where the addHandler method is delegated (e.g. also in the Redis channel).

So are you gonna take care of it?

Yes, I'll be committing that change in AbstractDispatcher (added assertion).

Regarding this being a "rabbit" channel instead of "amqp", I have a comment and a follow-up task:

(comment) RabbitMQ implements/supports AMQP, and to some degree the fact that we are using the RabbitMQ client code is an implementation detail. In other words it should work with any AMQP broker as long as the supported versions of the AMQP spec are aligned. So, I would say it's ok for this to be an "AMQP Channel" still. Also, this module is named "spring-integration-amqp", and it in turn builds upon "spring-amqp" with even the latter only truly providing a Rabbit-based implementation currently.

(follow-up task) I've created an issue to provide the additional feature of supporting provided exchange/queue names so that the RabbitAdmin would not be needed unless those are not specified. We would expect the typical case to still depend upon the RabbitAdmin approach, but it would not be strictly necessary. Here is the JIRA issue: https://jira.springsource.org/browse/INT-2178

As mentioned that would allow us to conditionally cast to RabbitTemplate such that any AmqpTemplate implementation could be provided unless the exchange/queue names are not provided (thereby requiring RabbitAdmin in order to declare them). The downside would be the lack of enforcement for a configuration that is theoretically valid (e.g. using Fanout Exchange only with a pub/sub channel).

Could we not change the constructor to take an AmqpTemplate and simply do an instanceof check before the cast/admin/rabbit-specific code?
If we later expose the queue/exchange names, I suppose we could assert they are not provided if the template is the Rabbit implementation, thus allowing for possible future non-Rabbit implementations, but enforcing the desired semantics for the Rabbit implementation.

Sure, good idea.

I've moved the assertions into the init methods (where an IllegalArgumentException will be thrown if the AmqpTemplate is not a RabbitTemplate).

Cool, than IMO its good to go.


#604 Bitmap scanner should clear status to enable re-entry

What changes were proposed in this pull request?
When there are multiple tasks use the same scanner, it could lead to core dump.
How was this patch tested?
add a unit test.

This should be port to branch-0.3...

shall we merge this to branch-0.3 also?

I think the master and branch-0.3 all need this pr

I'll merge this to unblock enabling work on production environment, you can still comment and let's fix it in follow-up pr!

merged to master and branch-0.3

Thanks @adrian-wang for the quick fix. Actually a single partition of the FileScanRDD can contain several files. So a single task may read multiple files using the same BitmapScanner, which caused the issue.

Thanks @carsonwang explain this issue & Thanks @adrian-wang fix it~ Already pass the test  in our QA environment~


Add read_liberty -wb

This enables the modules defined in a liberty file to be read as whiteboxes; similar to how we read in FPGA cell libraries.

Should we just merge this independently of the other PR? It seems straightforward...

Sounds good! Sorry that the wider feature development stalled, maybe I can be back on it soon™


Add getting started section to READ.ME

README UPDDATE
Please update readme with getting started section.

Added Getting started on readme file.


Alexa not connecting to ha-bridge - requesting to press the big button of the bridge

Hello, I'm having an issue to link Alexa with ha-bridge 5.3.0.
When I activate the skill Hue in the Alexa application, this is requesting me to sign in.
So I do it with my Google account and then it request me to press the big button of the bridge.
Even if I click several times on the Link button of ha-bridge this is not working (activated from the ha-bridge security settings).
I'm having an Echo Dot V3.
I had a look to the UPNP logs, nothing is coming from the IP of my Echo Dot.
I already managed to link ha-bridge with the Hue application and with MyHarmony.
I see the UPNP traffic coming from my phone and my harmony hub but nothing else.
Any idea why this is not working ? The UPNP traffic should come from my Echo Dot ?
Thanks for your help.

The ha-bridge does not work with the skill. You just need to use the discover devices in the smart home section.

Hello, thank you for your response. I also already tried this (I just did it again) and this is not working. None of my ha-bridge devices are listed in the smart home device section.

turn on trace upnp setting in the bridge control page and do a discovery, then post the log here

HI, having the same issue. I am a long time HA-Bridge user everything used to worked fine.
Made no changes until i wanted to add a device yesterday.
I have the bridge running on port 80 but i can't get my echo 2 to discover new devices.
Amazon playing with the port numbers again?
Please have a look at my log below.
11-17-2019 19:14:54.302 | INFO | Tracestate: Calling Home device handler for type : domoticzDevice | com.bwssystems.HABridge.hue.HueMulator
-- | -- | -- | --
11-17-2019 19:14:59.014 | INFO | Traceupnp: SSDP M-SEARCH packet from <IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:14:59.675 | INFO | Traceupnp: send upnp discovery template 1 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:14:59.721 | INFO | Traceupnp: request of description.xml from: <IP_ADDRESS>:80 filled in with address: <IP_ADDRESS>:80 | com.bwssystems.HABridge.upnp.UpnpSettingsResource
11-17-2019 19:14:59.775 | INFO | Traceupnp: hue lights list requested by user: 1b67225e04c8492ab45b53ed1ac68648 from address: <IP_ADDRESS> | com.bwssystems.HABridge.hue.HueMulator
11-17-2019 19:15:00.334 | INFO | Traceupnp: send upnp discovery template 2 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:00.994 | INFO | Traceupnp: send upnp discovery template 3 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:01.000 | INFO | Traceupnp: SSDP M-SEARCH packet from <IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:01.657 | INFO | Traceupnp: send upnp discovery template 1 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:02.323 | INFO | Traceupnp: send upnp discovery template 2 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:02.990 | INFO | Traceupnp: send upnp discovery template 3 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:02.996 | INFO | Traceupnp: SSDP M-SEARCH packet from <IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:03.649 | INFO | Traceupnp: send upnp discovery template 1 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:04.309 | INFO | Traceupnp: send upnp discovery template 2 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:04.968 | INFO | Traceupnp: send upnp discovery template 3 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:04.976 | INFO | Traceupnp: SSDP M-SEARCH packet from <IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:05.636 | INFO | Traceupnp: send upnp discovery template 1 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:06.296 | INFO | Traceupnp: send upnp discovery template 2 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:06.957 | INFO | Traceupnp: send upnp discovery template 3 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:06.967 | INFO | Traceupnp: SSDP M-SEARCH packet from <IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:07.621 | INFO | Traceupnp: send upnp discovery template 1 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:08.280 | INFO | Traceupnp: send upnp discovery template 2 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:08.940 | INFO | Traceupnp: send upnp discovery template 3 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:08.949 | INFO | Traceupnp: SSDP M-SEARCH packet from <IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:09.615 | INFO | Traceupnp: send upnp discovery template 1 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:10.278 | INFO | Traceupnp: send upnp discovery template 2 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:10.938 | INFO | Traceupnp: send upnp discovery template 3 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:10.946 | INFO | Traceupnp: SSDP M-SEARCH packet from <IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:11.600 | INFO | Traceupnp: send upnp discovery template 1 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:11.655 | INFO | Traceupnp: request of description.xml from: <IP_ADDRESS>:80 filled in with address: <IP_ADDRESS>:80 | com.bwssystems.HABridge.upnp.UpnpSettingsResource
11-17-2019 19:15:11.697 | INFO | Traceupnp: hue lights list requested by user: h2YjIU87f8xBhCR1x6vISk2757Vb0kMjZJikZzY from address: <IP_ADDRESS> | com.bwssystems.HABridge.hue.HueMulator
11-17-2019 19:15:12.275 | INFO | Traceupnp: send upnp discovery template 2 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:12.938 | INFO | Traceupnp: send upnp discovery template 3 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:12.943 | INFO | Traceupnp: SSDP M-SEARCH packet from <IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:13.597 | INFO | Traceupnp: send upnp discovery template 1 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:14.257 | INFO | Traceupnp: send upnp discovery template 2 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:14.916 | INFO | Traceupnp: send upnp discovery template 3 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:14.924 | INFO | Traceupnp: SSDP M-SEARCH packet from <IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:15.584 | INFO | Traceupnp: send upnp discovery template 1 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:16.244 | INFO | Traceupnp: send upnp discovery template 2 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:16.904 | INFO | Traceupnp: send upnp discovery template 3 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:16.913 | INFO | Traceupnp: SSDP M-SEARCH packet from <IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:17.573 | INFO | Traceupnp: send upnp discovery template 1 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:18.233 | INFO | Traceupnp: send upnp discovery template 2 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:18.896 | INFO | Traceupnp: send upnp discovery template 3 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:18.905 | INFO | Traceupnp: SSDP M-SEARCH packet from <IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:19.564 | INFO | Traceupnp: send upnp discovery template 1 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:20.231 | INFO | Traceupnp: send upnp discovery template 2 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:20.890 | INFO | Traceupnp: send upnp discovery template 3 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:20.896 | INFO | Traceupnp: SSDP M-SEARCH packet from <IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:21.558 | INFO | Traceupnp: send upnp discovery template 1 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:22.216 | INFO | Traceupnp: send upnp discovery template 2 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:15:22.877 | INFO | Traceupnp: send upnp discovery template 3 with response address: <IP_ADDRESS>:80 to address: /<IP_ADDRESS>:50000 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:16:15.960 | INFO | Traceupnp: sendUpnpNotify notifyTemplate1 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:16:16.620 | INFO | Traceupnp: sendUpnpNotify notifyTemplate2 | com.bwssystems.HABridge.upnp.UpnpListener
11-17-2019 19:16:17.280 | INFO | Traceupnp: sendUpnpNotify notifyTemplate3

Just solved my problem, found a good tip in another thread.
It appears the forget all option in the Alexa app doesn't work in all cases. This was my case, as proof I stopped all Bridges from workig and did a forget all then rediscover. Alexa found all devices I had just told the app to forget. This was impossible as HA-Bridge wasn't running. Doing a forget of each device separately in the Alexa app worked. A rediscover with the bridge still shut down found nothing. Restarting the bridge then having alexa discover devices found all my devices. This issue may also be the reason users are seeing devices reported as twice as a forget all doesn't work.

Hello, I tried your method and before doing it I delete my ha-bridge.config and recreate it and now it also works for me. Thank you for your help.


Cannot start iOS recorder

I'm testing the iOS recording on iOS real device 15
and I got this error:
Any idead what I'm doing wrong?
[VERBOSE-2:ui_dart_state.cc(198)] Unhandled Exception: PlatformException(, Failed to start recording, null, null)
#0      StandardMethodCodec.decodeEnvelope
package:flutter/…/services/message_codecs.dart:607
#1      MethodChannel._invokeMethod
package:flutter/…/services/platform_channel.dart:167
<asynchronous suspension>
#2      AudioWaveformsInterface.record
package:audio_waveforms/…/base/audio_waveforms_interface.dart:13
<asynchronous suspension>
#3      RecorderController.record
package:audio_waveforms/…/controllers/recorder_controller.dart:105
<asynchronous suspension>
#4      MessageController.startRecording
package:qusayalomiri/…/Controllers/Message.controller.dart:236
<asynchronous suspension>
#5      MessageController._startOrStopRecording
package:qusayalomiri/…/Controllers/Message.controller.dart:229
<asynchronous suspension>
#6      MessageController.sendVoiceMessage
package:qusayalomiri/…/Controllers/Message.controller.dart:196
<asynchronous suspension>

Ty I solved it.

@VivekMakwana24 not without having to edit the documents directory code in the platform method - still got other issues
Will be looking at alternative solutions as too many issues for iOS

So may I ask if you have any relatively stable replacement solutions on your project?


Idempotency issue in QueueFileChanges function

Description
The QueueFileChanges function processes file change events from a queue and calls the NewFiles function. However, there is a potential idempotency issue that might cause the same file change event to be processed multiple times if the function is re-invoked with the same input message.
Steps to reproduce

Simulates an exit error on the function's first try and after the file_added api but before the function returns.
Add a new file change to the input queue, triggering the QueueFileChanges function. Let the first run fail.
Let the function retry automatically

Expected Behavior
The QueueFileChanges function should be idempotent, ensuring that the same file change event is not processed multiple times, regardless of any exceptions, errors, or retries.
Actual Behavior
If an error occurs during the execution of the function, it may cause the function to be retried with the same input message, leading to duplicate processing of the file change event and possibly calling the NewFiles function multiple times.
Suggested fix
To ensure idempotency, implement a mechanism to track the state of the processed file change event. This can be done by using Azure Table Storage or another storage service to store a unique identifier for each processed event. Before processing the input event, check if the unique identifier exists in the storage. If it does, skip processing the event, and if it doesn't, process the event and store the unique identifier in the storage. Additionally, consider implementing error handling and logging mechanisms to capture and handle any errors that occur during the processing of the file change events.
Thank you for your contribution to the Github community and I really appreciate your effort in following through this issue.
AB#140651

This is an unhelpful bot, closing.


Add placeManifestWork create,update and delete

Signed-off-by: melserngawy<EMAIL_ADDRESS>

\cc @jnpacker

looks good in general, would you add some unit test for this controller. We can add integration test / e2e as the followup but unit test is necessary.

sure, will add the unit test today. was just waiting for code logic review.

/retest

/approve
/lgtm


⚠ Samsung has degraded performance

In 520a057, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2057 ms

Resolved: Samsung performance has improved in bb895d8.


Avoid whatsapp follow redirect url rewrite

Hello and thank you for the amazing work you are doing;
I wonder if is there a way to prevent whatsapp from changing url such as:
https://XXXX.atlassian.net/browse/RE-5
to:
https://id.atlassian.com/login?continue=https%3A%2F%2Fid.atlassian.com%2Fjoin%2Fuser-access%3Fresource%3Dari%253Acloud%253Ajira%253A%253Asite%252Fbfbf0cf4-b921-4e8f-874f-1bc4376f8b6b%26continue%3Dhttps%253A%252F%252FXXXX.atlassian.net%252Fbrowse%252FRE-5&application=jira
while sending simple or complex messages.
Am I missing something?

Not a bug, use TextPreviewSetting.ENABLED_WITH_INFERENCE


balena-yocto-scripts: Update to v1.5.2

Changelog-entry: Update balena yocto scripts to 1.5.2
Change-type: patch
Backport-to: next
Signed-off-by: Giovanni Garufi<EMAIL_ADDRESS>

Can one of the admins verify this patch?

@resin-jenkins retest this please


build file for gcm-demo-appengine wrong

Original issue 2 created by google on 2012-07-18T08:31:35.000Z:
What steps will reproduce the problem?

do ant compile or ant war
do ant clean or ant full-clean
look for compiled classes

What is the expected output? What do you see instead?
classes directory should have been removed, classes are still there.
What version of the product are you using? On what operating system?
this ant build file has no version number data, perhaps you should put one in? running under OS X - Darwin Kernel Version 11.4.0
Please provide any additional information below.

Comment #1 originally posted by google on 2012-07-23T16:15:25.000Z:
Thanks for reporting, would you mind cloning the repository and fix it in your clone, so we can patch it back?


Allows Centos to compile without error

Null check to allow centos to compile. I had this change for a while but somehow it did not make it into the master nlp-engine repository.

@richardkchapman for review


--fix incorrectly removes closing brace of block if followed by semicolon {};

Bug Report

TSLint version: 5.0.0-dev.0
TypeScript version: 2.7.0-dev.20171025
Running TSLint via: CLI

TypeScript code being linted
{{
  }; }

(no trailing newline)
with tslint.json configuration:
{"extends" : ["tslint:recommended"] }

Actual behavior
stdout:
Fixed 1 error(s) in test.ts

ERROR: test.ts[2, 5]: file should end with a newline

resulting file:
{{
 ; }

(still no trailing newline)
Expected behavior
newline added at the end, } not mysteriously (and syntax-error-inducingly) deleted

Please update to TSLint 5.8.0
We fixed a problem with --project --fix that likely causes your issue.

This was fixed by #2379 and released as with TSLint 5.0.0


Transformer with NodeFactory.update* removes parent/symbol information from AST branch

Bug Report
I am not sure if this is intended behavior or a bug, but it is surprising: after updating a node in the AST using the standard TS transformer API, the node loses its parent/symbol information. Also all parents of this node seem to lose their parent and symbol information, even if they themselves were not transformed.
🔎 Search Terms
NodeFactory visitNode visitEachChild transformer update parent symbol sourceFile undefined compiler API
🕗 Version & Regression Information

This seems changed between versions 3.* and 4.*

⏯ Playground Link

Playground link with relevant code
💻 Code
example.ts
function exampleFunction() {
    return true; // To be rewritten to 'return false' by transformer
}

transformation.ts
import * as ts from 'typescript';

// Read example.ts
const program = ts.createProgram(["./example.ts"], { target: ts.ScriptTarget.ESNext });
const sourceFile = program.getSourceFiles().find(f => f.fileName.endsWith("example.ts"));
const typeChecker = program.getTypeChecker(); // Get type checker to do binding and initialize symbols

const functionDecl = sourceFile.statements[0] as ts.FunctionDeclaration;
const functionBody = functionDecl.body!;
const returnStatement = functionBody.statements[0];

console.log(returnStatement.parent === functionBody); // True
console.log(functionBody.parent === functionDecl); // True
console.log(functionDecl.parent === sourceFile); // True

console.log(functionDecl.getSourceFile() !== undefined); // True
console.log(typeChecker.getSymbolAtLocation(functionDecl) !== undefined); // True

// Now we update the source file by rewriting 'return true' to 'return false'
const transformerFactory: ts.TransformerFactory<ts.SourceFile> = context => {
    function visit(node: ts.Node): ts.Node {
        // ONLY update return statement
        if (ts.isReturnStatement(node)) {
            return ts.factory.updateReturnStatement(node, ts.factory.createFalse());
        }

        return ts.visitEachChild(node, visit, context)
    }
    return (sourceFile: ts.SourceFile) => ts.visitNode(sourceFile, visit);
}

const result = ts.transform(sourceFile, [transformerFactory]);

const updatedSourceFile = result.transformed[0];
const updatedFunctionDecl = updatedSourceFile.statements[0] as ts.FunctionDeclaration;

// Parent/sourceFile/symbol are all undefined
console.log(updatedFunctionDecl.parent !== undefined); // False
console.log(updatedFunctionDecl.getSourceFile() !== undefined); // False: Caused by parent being undefined
console.log(typeChecker.getSymbolAtLocation(updatedFunctionDecl) !== undefined); // False

🙁 Actual behavior
After updating the return statement, all nodes in that branch (traversing up to root) of the AST have their parent/symbol information removed.
🙂 Expected behavior
I would expect the AST nodes to still have their parent nodes set, as they are still in an AST. Initially I also expected only the updated node to be changed and not to affect parent/symbol of its parent nodes - though I am no longer sure about that one.

I don't believe parent preservation is an invariant of tree transforms. @rbuckton can clarify

The TypeScript AST is essentially immutable. What happens when you call updateReturnStatement is that we create a new ReturnStatement with the provided expression (assuming the expression is a different reference from the original):
const expr1 = ts.factory.createNumericLiteral(1);
const returnStmt1 = ts.factory.createReturnStatement(expr1);
const returnStmt2 = ts.factory.updateReturnStatement(returnStmt1, expr1); // same expression
console.log(returnStmt1 === returnStmt2); // true

const expr2 = ts.factory.createNumericLiteral(2);
const returnStmt3 = ts.factory.updateReturnStatement(returnStmt1, expr2); // different expression
console.log(returnStmt1 === returnStmt3); // false

Whenever we create an "updated" node, we set a property on that node called original that points to the previous node the node was updated from. The "updated" node will not have its parent set, and will not have symbol information.
We only maintain parents and symbols on "parse tree" nodes (i.e., nodes created by the parser). If you pass an "updated" node into a checker API, we will automatically follow all original pointers back to the source node. If passing an "updated" (or other synthetic node) to the checker API does not give you a result, there are two possible reasons:

The node you provided is not a "parse tree" node, or does not have an original pointer that when recursively followed eventually points to a "parse tree" node.
A bug in the checker surface API (infrequent, but possible)

If you create a purely synthetic node and want it to participate in the checker API, you can explicitly set the original node using the ts.setOriginalNode function.
If you want to find the "parse tree" node for a given synthetic node, you can call ts.getParseTreeNode. This function will follow the original pointers of the provided node until it finds a "parse tree" node to return, or will return undefined if no such node was found.
Finally, we don't change or set parent on synthetic/transform nodes because our transformers must maintain several invariants:

We should never change the parent of a "parse tree" node, as the checker defers some operations that might utilize that during the emit phase, and "parse tree" nodes can be reused in incremental parse scenarios.
For performance reasons, a transformer may reuse an entire subtree, which could include "parse tree" nodes.

As a result, we caution anyone from relying on parent for any reason in a transformer. The only time it is safe to use is when working with "parse tree" nodes produced by the parser (and even then, only if the source file was bound by the binder, or setParentNodes was set to true when calling ts.createSourceFile).

I find this part of your example surprising however:
console.log(typeChecker.getSymbolAtLocation(updatedFunctionDecl) !== undefined); // False

That should have worked just fine, because the entrypoint for getSymbolAtLocation looks like this:
            getSymbolAtLocation: nodeIn => {
                const node = getParseTreeNode(nodeIn);
                // set ignoreErrors: true because any lookups invoked by the API shouldn't cause any new errors
                return node ? getSymbolAtLocation(node, /*ignoreErrors*/ true) : undefined;
            },

So, getParseTreeNode(updatedFunctionDecl) should point to functionDecl, and should produce the same result when you pass it to getSymbolAtLocation. If it isn't, then there's a bug somewhere.
One final note: You shouldn't rely on ts.factory in a transformer. Every transformer is provided a factory property on its context object that should be used instead. This is because I eventually intend to add some tracing to transformers to indicate which transformer created a node to help with diagnosing issues with transformations. This only works if you use the factory provided to the transformer, since that will eventually be a unique instance:
const transformerFactory: ts.TransformerFactory<ts.SourceFile> = context => {
    const { factory } = context;
    function visit(node: ts.Node): ts.Node {
        // ONLY update return statement
        if (ts.isReturnStatement(node)) {
            return factory.updateReturnStatement(node, factory.createFalse());
        }

        return ts.visitEachChild(node, visit, context)
    }
    return (sourceFile: ts.SourceFile) => ts.visitNode(sourceFile, visit);
}

@rbuckton Thanks for the clear answer!
I checked out ts.getParseTreeNode(updatedFunctionDecl) === functionDecl which is true as you indicated. I guess this means we will be changing our node.getSourceFile() to ts.getParseTreeNode(node).getSourceFile()!
Also had a quick look at why the symbol is undefined, but it also is undefined for the original functionDecl, so that seems to be just a problem in my example setup, getSymbolAtLocation at least seems consistent.

@rbuckton Can you clarify why you caution against using parent in a transformer? I have written a transformer that removes empty object type literals from intersections or unions:
if (
  isTypeLiteral(node) &&
  !node.members.length &&
  isIntersectionOrUnion(node.parent || ts.getParseTreeNode(node)?.parent)
) {
  return undefined;
}

Should I instead visit the intersection/union parent and then remove children that are empty type literals? I don't actually know how to do that:
if (isIntersectionOrUnion(node)) {
  node.types.forEach(() => ???)
  // or
  ts.visitEachChild(...) // Doesn't appear that the nodes contained in the intersection/union are actually children -- they don't get visited.
}


Feature Request: Ability to select multiple Videos under uploads on LBRY.tv

I would love the Ability to select multiple Videos at once under uploads on LBRY.tv

Thanks for filing this and sorry for the delayed response. We won't be supporting this for some time, but you can check back later.


Confirmation before unsubscribing from multiple notifications

On the notifications page it's very easy to do "Select All" (ticking the checkbox) then click "Unsubscribe" when you meant to mark them as "Done" because the buttons are so close to each other.
This has happened to me 3x in the new UI so I'm pretty sure other users had had this problem too, and it's really frustrating because you may lose valuable subscriptions that you have for old issues that you're following waiting for resolution, for example.

I think just a window.confirm would do it.

Please! Just unsubscribed  from 20 items by mistake.

Please send a request to GitHub. Ideally we'd get a temporary "Undo" popup instead of asking for confirmation


IgnoreCondition: severity

Continuing https://github.com/dependabot/dependabot-core/pull/3513 and https://github.com/dependabot/dependabot-core/pull/3550 , as the string values like version-updates:semver-* suggest, "update types" should be bypassed when Dependabot is creating an update in response to a security alert.
This PR introduces the vapourware concept of security_severity to the lookup of ignored versions for a dependency: if set to a non-nil value, the current version-updates:* types will be ignored.
All we really need here is a boolean flag, like security_updates_only (as suggested by @feelepxyz). The idea of building the API around severity is to empower some fast-follow features like: update-types: ["security-updates:low-severity"].

I'm wondering if this is where we'll end up using security_severity with security-updates:low-severity. Would it make more sense to skip running the job altogether if the severity is ignored in api as all versions will need to be ignored? Although, if we set the ignored version to >= 0, it would return immediately here: https://github.com/dependabot/dependabot-core/blob/main/common/lib/dependabot/update_checkers/base.rb#L41
Leaning towards a simpler interface of security_updates_only and punt on the decision to figure out how severity ignores will work. Thoughts?
I might be getting into the weeds here, either interface would be straight forward to change.


CRYP-11: Setup docker and docker compose

Changes

Add docker files for

client web build
api
api database

Add docker-compose file for dev environment

It is very good. However can we wait before creating database tables, there still needs to be a conversation about what we are storing and how.

No database tables are being made here, just a dockerfile for the database itself


Update README.md

Use more appropriate composer require

Travis CI build fails because the dropped PHP 5.3 support.


Substitute first-class modules with records.

Instead of using a first-class module containing the effect declarations Get and Set, one can use functions that perform these effects. One can then pack these functions in a record with which a Ref client is resumed.

Looks good to me! Thanks @DeVilhena-Paulo. I'll merge once the CI is green.

Maybe we can have both examples? One using module another using records?

@dhil in both of the proposed examples, the use of effects is similar, isn’t it? In my mind, the aim of the repo is to collect the uses of effects for implementing useful features. If there are two implementations of the same “feature” that only differ by the non effect handler part of the code, my feeling is to only retain the simpler version of the two. What do you think?

It is fine by me.

@kayceesrk @dhil Many thanks for reviewing this PR! I agree with @kayceesrk: both examples implement ML-like refs by dynamically installing new handlers for freshly generated effects. The implementation with records is slightly simpler, and it also shows that there is no need for first-class effect names. The implementation could be ported to any language with support for allocation of fresh effect names and first-class functions.

Thanks. CI seems to be having some issues. I’ll merge this PR given that we’ve reviewed it.


Python stop working 0xC0000005 in PyCharm

Python:3.6.8 64-bit
OS:Windows 10 64-bit
Kivy:v 1.10.1
Kivy installation method:
https://kivy.org/doc/stable/installation/installation-windows.html

Description
I try use kivy but after instalation I see this error.
I try on PyCharm and default IDE. In PyCharm i see :Process finished with exit code -1073741819 (0xC0000005) but in IDE python.exe stop working.

Code and Logs
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='Hello World')
TestApp().run()

I made a new kivy candidate release that hopefully resolves the issues and uploaded it to pypi. I also made new wheels for kivy dependencies. Given the existing issues with the binary dependencies I also took the opportunity to migrate our dependencies from kivy.deps.xxx to kivy_deps.xxx. So, I'd ask that you try the new wheels in a new clean virtual environment so there's no clash with previous kivy dependencies and see if you still face any issues.
Here's complete instructions.
python -m pip install --upgrade pip setuptools wheel virtualenv
python -m virtualenv kivy_venv

If you're in windows cmd shell do:
kivy_venv\Scripts\activate

otherwise do:
source kivy_venv/Scripts/activate

Next do (note that to install the new kivy rc2 you need to add --pre to pip):
pip install kivy_deps.glew kivy_deps.sdl2 kivy_deps.gstreamer kivy kivy_examples --pre
python kivy_venv/share/kivy-examples/demo/kivycatalog/main.py

Or any other tests and let me know if you run into any issues.

Hi Matham, Thanks for you help but i still have the same issues:
console.txt
kivy_19-05-30_0.txt

Ok, the log you attached doesn't show any problem and it doesn't seem like you ran python kivy_venv/share/kivy-examples/demo/kivycatalog/main.py. Can you run it from the virtual environment? To activate it again do kivy_venv\Scripts\activate.

I don't understand. What is the issue? I don't see a crash or error in the screenshot.

I don't see any window after run this script.  The kivy-examples not start.

Sorry, but this seems to be something specific to your system, rather than with kivy. You can try to compile kivy yourself, or ask on discord for further help.


[CT-1612] Add deprecation decorator for functions

Create a decorator that can be added to functions to mark them as deprecated.
Related to #6347 as we need to make the functions that currently trigger exceptions as deprecated for all the adapters that may be using them.
Open questions:

What standard info to include with deprecation?
When should the exception functions actually be deprecated - 1 or 2 versions?

hi @emmyoop! i see this is self-assigned - are you looking for PR's for this issue? or have you already started work on this? just checking before possibly contributing 👍

@justbldwn I'll be working on this over our next sprint.  Thanks for checking in though!


Format error of anno column in v1.2

Hi,
The anno column in release v1.2 has more quotes than expected by truvari anno trf, it also revert "repeat" to "motif"
For example, the first line of 1.1 and 1.2 are:
# v1.1
[{"chrom": "chr1", "start": 10000, "end": 10467, "period": 6.0, "copies": 77.2, "score": 1243, "entropy": 1.43, "ovl_flag": 1, "repeat": "TAACCC", "purity": 98}, {"chrom": "chr1", "start": 10481, "end": 10497, "period": 4.0, "copies": 4.2, "score": 41, "entropy": 0.94, "ovl_flag": 1, "repeat": "GCCC", "purity": 94}]

#v1.2
"[{""chrom"": ""chr1"", ""start"": 10000, ""end"": 10467, ""period"": 6.0, ""copies"": 77.2, ""score"": 1243, ""entropy"": 1.43, ""ovl_flag"": 1, ""motif"": ""TAACCC"", ""purity"": 98}, {""chrom"": ""chr1"", ""start"": 10481, ""end"": 10497, ""period"": 4.0, ""copies"": 4.2, ""score"": 41, ""entropy"": 0.94, ""ovl_flag"": 1, ""motif"": ""GCCC"", ""purity"": 94}]"

I generated a truvari anno trf compatible bed file by:
zcat adotto_TRregions_v1.2.bed.gz | cut -f1-3,18 | sed 's/"\[/[/g; s/"$//; s/""/"/g; s/"motif":/"repeat":/g' | bgzip > anno.trf.bed.gz

Hello,
Thanks for reporting this and I apologize for the oversight. To fix this, I have:

Updated truvari anno trf to look for either the 'repeat' or 'motif' key in the provided annotation file. This is available now from the development branch and will
Uploaded a new patch of adotto v1.2.1 and updated relevant links in this repository

Updated the truvari wiki to document adotto v1.2.1 and special notes for converting adotto v1.2 when using truvari ≤4.3.1

Have a great day,
~/Adam English


Update Vectara docs

This PR adds a couple enhancements to the Vectara vector store docs.

Closed in favor of #2200


TopologicalSorter: order vertices by dependency count

Inspired by https://github.com/QuiltMC/chasm/blob/07823837e2d606c7c1961e5b67a87e9f62a21495/src/main/java/org/quiltmc/chasm/TopologicalSorter.java#L114

Since I just rewrote the sorting (again) I'll close this.
The current implementation should also be performant enough (for now).


WIP: PostgreSQL JSON and jsonb types

NOT READY FOR MERGE. Just for comments and feedback. :-)
We've been experimenting with using Diesel in a production application, and we really like the query builder! As discussed in #44, we have an extremely pressing need for PostgreSQL JSON and jsonb support, which we currently support using rust-progres.
@killercup suggested:

Or, you could try and do this as a plugin crate. (If you think adding this to diesel is easier and more efficient, you can of course still open a PR!)

I think it will be much easier to implement the first version as a PR against diesel itself. Once it works, we can make the decision about whether to move it to a plugin crate or not.
The current version of the code provides types::Json, types::Jsonb, ToSql and FromSql with basic unit tests. We also need more detailed tests in diesel_tests, and there are a couple of open questions I'm trying to figure out right now. But I thought we should get some actual code to look at and comment on. :-)
Your suggestions and comments are very much appreciated!

OK, I think we're getting pretty close to a workable prototype! All the tests pass (including the new round-trip tests) and the following compiles:
table! {
    jsons {
        id -> Integer,
        data -> Jsonb,
    }
}

I'm going to try converting more code in one our projects, and see how it works. But first, a quick discussion of why I built this the way I did.
Why serde_json::Value is a good default JSON representation in Rust
When working with JSON data, there are three representations we might want to use:

A raw JSON &str or &[u8]. This is the format in which programs will tend to send and receive JSON data.
A "parsed" representation of JSON. For example, serde_json::Value has the constructors Value::Bool, Value::Null, Value::String, etc., and it allows us to manipulate JSON data easily.
A Rust data structure. For example, we might want to convert between { "x": 1, "y": 2 } and Point { x: 1, y: 2 }.

An ideal Rust JSON library should make it simple to convert between all three representations. There are a number of Rust libraries for working with JSON. The most popular are rustc_serialize and serde_json. Ideally it would be possible to support both, but if we were to choose one, serde_json is probably the better choice, because it has excellent support for converting between (1), (2) and (3). At the moment, some serde features do require a codegen plugin, but that will go away when Macros 1.1 lands. Also, serde appears to be the favorite choice among newer crates. I'd be happy to try to implement rustc_serialize, though!
Should we support conversion to and from String and Vec<u8> using ToSql and FromSql?
If it's possible to easily support both these formats and serde_json::Value, then I would definitely be in favor of doing so!
What about the JSON query types described in https://github.com/diesel-rs/diesel/issues/44#issue-120068652?
These are really interesting, but they're probably less urgent than simply reading and writing JSON data. Also, I'm not sure how to implement them. But I'd be happy to accept suggestions!
Is this code ready to merge?
Well, I'd love some feedback first! But so far, it seems to cover the basic use cases. I'm going to test this further by converting more internal code, and make sure there are no surprises. I'll let you know how it goes.
I'd also love feedback and test reports from other potential users! To test this out, run:
cd myproject-using-diesel
git clone -b pg-json-types https://github.com/faradayio/diesel.git

...and add the following to your Cargo.toml:
[replace]
"diesel:0.9.1" = { path = "diesel/diesel" }
"diesel_codegen:0.9.0" = { path = "diesel/diesel_codegen" }
"diesel_codegen_shared:0.9.0" = { path = "diesel/diesel_codegen_shared" }
"diesel_codegen_syntex:0.9.0" = { path = "diesel/diesel_codegen_syntex" }

Thank you for the detailed review! I'll respond to your detailed comments with either fixes or responses shortly.

Edit: Btw, I'm 75% certain that your code (with namespaces adjusted) would work as an external crate as-is. :)

Is primitive_impls! exported somewhere? Because I've been trying to add Diesel integration for several types in https://github.com/faradayio/bigml-rs, and every time I try it, I wind up missing the queryable_impls! and expression_impls! macros that are used by primitive_impls!. If there were some way to access the necessary macros, then this would probably work fine.

Hmm, you mean like update(foo).set(bar.eq(r#"{"baz": true}"#)).execute(&connection)? I'm not sure if we should go that far. Is that a use case you have?

No, we have no immediate use case for this. The only thing I can imagine is grabbing raw JSON and sending it directly to a web client without deserializing and re-serializing it. If somebody wants it, they can always add it later. :-)

Other than the inline comments (from a quick read-though): Can you add some integration tests? E.g., create a table that has a jsonb column address, define a #[derive(Serialize, Deserialize)] struct Address { … }, and do some CRUD work on that column? This could also be done in a doc comment, so we generate a bit of documentation at the same time :)

I'd love to add better integration tests! Right now, we do have the tests in diesel_tests that test the actual translation of JSON and jsonb between PostgreSQL and diesel, and those seem to work. This provides almost exactly the same test coverage as the existing uuid type, which I used as an example.
Where should I add tests that create a table and do more complex experiments? If you can point me at an existing file, I'd be happy to generalize from there.
I'd also love to be able to test something like the code below, but I can't get table! or Queryable working in any of the obvious places (doc comments, etc.) without a bunch of errors.
#[cfg(feature = "postgres")]
#[allow(dead_code)]
mod jsonb_compile_test {
    extern crate serde_json;

    table! {
        json_values {
            id -> Integer,
            value -> Jsonb,
        }
    }

    #[derive(Queryable)]
    struct JsonValue {
        id: i32,
        value: serde_json::Value,
    }

    fn get_json_value(conn: &diesel::Connection, id: i32)
                      -> Result<JsonValue, diesel::Error> {
        json_values::table.find(id).load::<JsonValue>(conn)
    }
}

Another patch is incoming soon which should address most of your other comments.

OK, I've pushed a bunch of fixes suggested in the code review. Thank you for looking at this PR!

Happy new year!

Is primitive_impls! exported somewhere?

Oh, good point. Only a few macros are exported. And I'm not sure if we want to expose primitive_impl! as-is because we'll probably need to guarantee backward compatibility for its implementation details (macros are hard). I'll have to think about that. @sgrif probably has some thoughts on that as well.

Where should I add tests that create a table and do more complex experiments? If you can point me at an existing file, I'd be happy to generalize from there.

diesel_tests is a complicated beast! :) There is a lot in there and I can't pretend to know all of it. There is even a small schema creating DLS! I'd suggest looking at this (or similar) tests that define a new table in a transaction.
If you want to dig even deeper into diesel tests, have a look at types_roundtrip.rs :)
For doc tests, I don't think it's easily possible to add custom derive there. You can use the regular macros with the struct definition though. A lot of magic is also done in src/doctest_setup.rs. Have a look at this doc comment as a example.

Happy new year!

Is primitive_impls! exported somewhere?

Oh, good point. Only a few macros are exported. And I'm not sure if we want to expose primitive_impl! as-is because we'll probably need to guarantee backward compatibility for its implementation details (macros are hard). I'll have to think about that. @sgrif probably has some thoughts on that as well.

Where should I add tests that create a table and do more complex experiments? If you can point me at an existing file, I'd be happy to generalize from there.

diesel_tests is a complicated beast! :) There is a lot in there and I can't pretend to know all of it. There is even a small schema creating DLS! I'd suggest looking at this (or similar) tests that define a new table in a transaction.
If you want to dig even deeper into diesel tests, have a look at types_roundtrip.rs :)
For doc tests, I don't think it's easily possible to add custom derive there. You can use the regular macros with the struct definition though. A lot of magic is also done in src/doctest_setup.rs. Have a look at this doc comment as a example.

NOT READY FOR MERGE

Ok merging

At the moment, some serde features do require a codegen plugin, but that will go away when Macros 1.1 lands.

The master branch is for 0.10, which will launch no earlier than the release of Rust 1.15 which will stabilize Macros 1.1, so that's not a concern.

looks like it can also work with SQLite's JSON type.

Let's not worry about that type for now (or any type that is an extension to any backend).

I think we should support FromSql for String and Vec<u8>, but not ToSql. It's definitely reasonable to want to send JSON from the database unchanged to a client, and skip the deserialize/serialize step. For ToSql though, we only want to support types that we are reasonably sure are valid JSON.

When I originally wrote #44, I had envisioned that we would have our own enum which was basically a copy of the "json value" enum that both rustc-seriailze and serde provide. However, that was over a year ago, and a lot has changed. I'm fine with just targeting serde.
I also envisioned (and would still like to somehow have) an impl that was roughly:
impl<T: serde::Deserialize> FromSql<types::Jsonb> for T

But that will likely never be possible within Rust's coherence rules until we figure out some method of permitting overlap.
Can we see if we can avoid having JSON be treated as a separate type from JSONB internally? I get a result from select * from pg_cast inner join pg_type a on a.typname='json' and a.oid=castsource inner join pg_type b on b.typname='jsonb' and b.oid=casttarget; so I think we can. It will simplify operators and functions if we can treat them as the same type internally. So just doing pub type Json = JsonB should suffice.
Overall this code seems fine for the parts that it has tried to accomplish so far.

Also, I'm not sure how to implement them. But I'd be happy to accept suggestions!

This can be a separate PR, but the implementation of array comparison operators is probably a good place to start. Relevant code is here and here

Thank you for working on this! I'm excited to hear you guys are experimenting with Diesel. Let me know if there's anything else I can do to help.

What would you say is left for this PR to be acceptable? Implementing operators, integration tests, and perhaps the JsonB type alias?

Yes, it would really help to have a list.
I've been procrastinating a bit on the integration tests, because the requested tests for json/jsonb are much more extensive than the existing tests for UUID, so I'm going to have to come up to speed on a fair bit of the code base to implement them.
I think operators should not block the list.

I agree. Integration tests are the most important thing that this PR needs.
It shouldn't be too hard if you find the right things to copy the
boilerplate from. Let me know if you need any help. Otherwise I'll have
some time at the end of the week where I'll do more Diesel stuff, and could
add the Integration tests. (A lot of people will be happy when this
lands!)
Eric Kidd<EMAIL_ADDRESS>schrieb am Mo. 9. Jan. 2017 um 23:20:

Yes, it would really help to have a list.
I've been procrastinating a bit on the integration tests, because the
requested tests for json/jsonb are much more extensive than the existing
tests for UUID, so I'm going to have to come up to speed on a fair bit of
the code base to implement them.
I think operators should not block the list.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/diesel-rs/diesel/pull/561#issuecomment-271426196, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AABOX9myXEPOdgPjmxfqTYc6jSofAvy6ks5rQrK0gaJpZM4LYkJK
.

I agree that operators are not essential and should/could come later. If I have some free time, I'll see about making some integration tests for you as well in a PR against this branch. Between all of us, someone should be able to get in an integration test :P

@norcalli Did you write any tests yet? I just wrote a doc test and opened https://github.com/faradayio/diesel/pull/1 for it. More tests will be better though :)

@killercup I've merged your doc test onto my PR branch. Thank you!

You're welcome. I'd love to add some more integration tests/doc comments with custom derives using serde (because this will show the roundtrip how its meant to be), but I saw we didn't use codegen in doc comments anywhere. Probably with a good reason; I opened #576 nevertheless.
Anyway, I wont get to it today, but I'll try to add a few integration tests tomorrow or on Sunday – unless @norcalli wants to/has time to write some.
Do you have any other things you want to add here before landing this, @emk?

Nope. I'm pretty happy with this personally, but if you want to combine the Json and Jsonb types somehow, we should do that.
I'm dealing with an urgent production problem today, unfortunately.

@emk I have some time this weekend and would love to merge this. The type Json = Jsonb thing is still open. If you have some time, it would be awesome if you want to tackle this, otherwise I'll try to do that, or leave it open for a future PR.

So, before this lays around for another week: Let's merge this! We can always tweak it some more later on.


NRPP missing spring 2024 implementations?

Viewing as "hy-hlo-95971222" (who is "responsible teacher" in all four implementations):
TERV-111 only first one is available in Norppa?
4.9.–22.10.2023
https://sisu.helsinki.fi/teacher/role/staff/teaching/course-unit-realisations/view/otm-cc7f4118-835a-4fdf-93c6-3c9ab61ac54b/information/basicinfo
15.1.–3.3.2024
https://sisu.helsinki.fi/teacher/role/staff/teaching/course-unit-realisations/view/otm-95dcbb84-cca7-4649-a21b-e6ac1d046eab/information/basicinfo
VS.
TERV-112 both available in Norppa
30.10.–17.12.2023
https://sisu.helsinki.fi/teacher/role/staff/teaching/course-unit-realisations/view/otm-120dc380-2c3c-4513-b9b8-f19d8d591ed3/information/basicinfo
11.3.–5.5.2024
https://sisu.helsinki.fi/teacher/role/staff/teaching/course-unit-realisations/view/otm-c4af631c-4aac-4a95-bde3-bfb001db8bf3/information/basicinfo
Others missing implementations for the spring 2024 are for example: TERV-113, TERV-115

epic reading comprehension failure
all good
closing


⚡ PageSpeed Insights | Address Performance Issues

Even after attempting to implement NextJs/Script features, it seems that PageSpeed Insights isn't getting much better.
Using PageSpeed Insights as a reference, fix performance hits.

[ ] ⚡ PageSpeed Insights | Address Performance Issues

Originally posted by @tkapa in https://github.com/SSWConsulting/SSW.Website-v3/issues/54#issuecomment-1399807339

Understand that the perf is in the realms of acceptable for zendesk but I think we could do better.
Possible speed improvement for zendesk - https://www.newmediacampaigns.com/blog/maintaining-great-site-performanc-using-zendesk-web-widget

Might be good to investigate upgrading to NextJS v13 + react 18. To be able to use some of the new lazy loading features!
Note: Some of these features are still experimental, so there is some risk involved.
Checkout:
https://nextjs.org/docs/advanced-features/dynamic-import
https://nextjs.org/docs/advanced-features/react-18/overview


fix(ui-ux): update fees text on swaps and confirm screen

What this PR does / why we need it:
Which issue(s) does this PR fixes?:

Fixes #
Additional comments?:
Developer Checklist:

[ ] Read your code changes at least once
[ ] Tested on iOS/Android device (e.g, No crashes, library supported etc.)
[ ] No console errors on web
[ ] Tested on Light mode and Dark mode*
[ ] Your UI implementation visually matched the rendered design*
[ ] Unit tests*
[ ] Added e2e tests*
[ ] Added translations*

waiting for at least de translation


stream_settings_overlay: Fix padding for right section headings.

While working on #20222 I noticed that the section headings here don't look right:

ie, like the commit message says:
At some point we must have made a change that caused the "create
stream" and "#stream name" headings to take up more vertical space,
resulting in the dividing line for the headings of the right side of
the subscription overlay to be miss-aligned with the same for the left
side. For the "create stream" panel, it also caused the scroll bar and
some content to be visible through the partially transparent bottom
section in night mode.
In this commit we reduce the padding for those headings so that things
don't look broken anymore.
Testing plan:
GIFs or screenshots:

Merged, thanks @YashRE42!


[ENH] Add GPU Tests and Docs for Hyperparameter Tuning, Automl , Exporting Trained Model and end to end examples

Is your feature request related to a problem? Please describe.
In https://github.com/dask-contrib/dask-sql/pull/394 we are adding GPU section for ML model training.
All other sections (see below) of the machine-learning docs, they should probably work with GPU's . We don't have have tests for those now though. I think it might be worth-while adding tests for them and then adding the GPU sections for those too.
Hyperparameter Tuning
Auto ML
Exporting Trained Model
End to End Example
CC: @charlesbluca

I think this would also close https://github.com/dask-contrib/dask-sql/issues/130

I plan to pick this up as I investigate https://github.com/dask-contrib/dask-sql/issues/943 and https://github.com/dask-contrib/dask-sql/issues/1020
I'll also be sure to note parameters that are helpful when doing GPU ML, like gpu_hist for XGBoost.


serial/sampler obtain_samples() return self.samples.pyt, not self.samples.np

Why obtain_sampels() return self.samples.pyt, not self.samples.np?
when self.collector.collect_batch() called , output values store in (agent_buf, env_buf)  of self.sample_np.
Are self.sample_np and self.sampler_pyt interlinked internally in the serial sampler? If then, when output value is stored in self.sample_np,  does self.sample_pyt immediately save torchfied output values?

yes those buffers refer to the same underlying memory.  one is in the form of torch tensors, which is returned so that the algorithm can use them.  the other one is in the form of numpy arrays, which are sometimes used for writing into or may otherwise be useful.

thank you:) ans sorry but I ask to you one thing. the reason I asked that, I am doing customizing for multi-agent under a certain enviroment not gym(wrapping gym). but In the process of fixing it, I found that  empty sample_pyt initialized in samples/buffer was used in optimize_agent. so I only used sample_np Is there any problem with that? and where is the code that sample_np value is allocated to sample_pyt?, when collect_batch() called?

Hmm, yes samples_pyt and samples_np are built at the beginning, both refer to the same memory, and should only be written to by index (e.g. samples.observation[:] = xx), so that the objects remain intact.  So at every iteration the sampler returns the same object samples_pyt, which should hold the data written into samples_np during sampling.
(All the algorithms are written in PyTorch, so you'll need to feed them torch tensors.  You can write data from torch tensors into numpy arrays, but it didn't always work when i tried to write data from numpy arrays into torch tensors.)

thank you! It was very helpful.


ConfigureForAzureWithUserAssignedManagedIdentityAsync() not working with Microsoft.Identity.Client 4.54.1

I am connecting to Redis from Azure AppService using user assigned identity. After adding Azure.Identity (1.10.0) nuget package to the same project, I have started receiving the following error when calling ConfigureForAzureWithUserAssignedManagedIdentityAsync:
System.MissingMethodException: 'Method not found: 'Microsoft.Identity.Client.ManagedIdentityApplicationBuilder Microsoft.Identity.Client.ManagedIdentityApplicationBuilder.Create(System.String)'.'
I could verify that the issue does not occur witht and older version of Microsoft.IdentityClient. In my case, the installation of Azure.Identity raised the version of Microsoft.Identity.Client from 4.53.0 to 4.54.1.

Same happens with ConfigureForAzureWithSystemAssignedManagedIdentityAsync, but at least in my case Azure.Identity (1.9.0) works correctly.

@philon-msft Can you please release the latest version of this packge that includes #7?

A month has passed, and still nothing has changed. This is now a more serious issue as there's a CVE in Azure.Identity (https://github.com/advisories/GHSA-5mfx-4wcx-rv27) which also relates to these package versions...

All that needs to happen is to take the current code that's already master since June and release it as package 1.1.1 or 1.2.0.
Maybe @lsannicolas can help with this?
The CVE in Azure.Identity forces an update of "Microsoft.Identity.Client" to version incompatible with "Microsoft.Azure.StackExchangeRedis".

I am also experiencing this issue and waiting for this to be resolved.

The new release v2.0.0 uses the latest Microsoft.Client.Identity package. Please give it a try and let us know if you still see any issues.


properly formatted directory in introduction.md

closes #50

Header missing #: Without '#', the header becomes plain text, losing its emphasis.

Missing '-' in list: An element without '-' won't be listed, but will display as unformatted text.

Link formatting error: If '[]' and '()' are incorrectly used, the hyperlink will appear as plain text, making it non-clickable.

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out my other projects. Just click here to find more. These projects contain real issues that you can help resolve.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


Could u pls....just tell me how to build a package?

Issue template:

Please make sure that the issue subject starts with <package-name>:
Issues related to end of life (EOL) releases are not supported or maintained and will be closed
Remove lines from top till here and fill in the following questions

Steps to reproduce:
Example: Replace the following lines and remove this

go to: Network → Interfaces → LAN (an interface with a static address) → DHCP server tab → IPv6 RA settings tab
set RA MTU and RA Hop Limit to arbitrary non-default value
Save & Apply
go to: IPv6 RA settings tab again

Actual behavior:
Example: Replace the following lines and remove this

option ra_mtu '1500' is set correctly in /etc/config/dhcp
In LuCI though, RA MTU and RA Hop Limit are still displaying the default values in light gray font color.

Expected behavior:
Example: Replace the following lines and remove this
RA MTU and RA Hop Limit are displaying the correct values found in /etc/config/dhcp in black font color.

Additional Information:
OpenWrt version information from system /etc/openwrt_release
Example: Replace the following lines and remove this
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='21.02.0-rc4'
DISTRIB_REVISION='r16256-2d5ee43dc6'
DISTRIB_TARGET='x86/64'
DISTRIB_ARCH='x86_64'
DISTRIB_DESCRIPTION='OpenWrt 21.02.0-rc4 r16256-2d5ee43dc6'
DISTRIB_TAINTS=''

@lampb0y check the wiki on how to setup a buildroot and how to install the external feeds


[Statistics] Reduce DB size by removing unused data - Platform dimension

This data is not used in any functionality today. We only track it because we have the data available at w3c-log parsing time. It is questionable in terms of cost-effectiveness.
We could still store it elsewhere (e.g. in Azure table storage). Or we could reconsider storing this data when revisiting the design of the NuGet statistics feature.

Note
Even when we no longer import these datapoints into the stats database, we still have all the data in the w3c-logs we upload to blob storage.

Impact on database
A database size reduction could be achieved totalling 5,172.03 MB (or 5.05 GB)!
Removing these indices will also improve performance of insert/delete operations against the [dbo].[Fact_Download] and [dbo].[Fact_Dist_Download] tables.
In addition, we generate less churn on the data by avoiding clean-up operations.
The following database objects would become obsolete:

Table [dbo].[Dimension_Platform] (size = 0.39 MB)
Table column [dbo].[Fact_Download].[Dimension_Platform_Id] (size = 2,585.75 MB)
Table column [dbo].[Fact_Dist_Download].[Dimension_Platform_Id] (size = 2,585.75 MB)
Stored procedure [dbo].[EnsurePlatformDimensionExists]
Stored procedure [dbo].[CleanupPlatformDimension]
SQL Type [dbo].[PlatformDimensionTableType]
Clustered index [dbo].[Dimension_Platform].[PK_Dimension_Platform] (size = 56 KB)
Non-clustered index [dbo].[Dimension_Platform].[IX_Dimension_Platform_UniqueIndex] (size = 88 KB)

Impact on jobs
The Stats.ImportAzureCdnStatistics job would no longer need to store the Platform dimension data, which would improve import speed, throughput, and overall performance of the job.
We could:

avoid the need to check whether an Platform already exists, and if not, create it during import;
avoid the need to retain already imported Platform dimensions into in-memory cache;
reduce complexity of import by no more linking Platform dimension identifiers to the download facts.

We decided to go in a different direction to reduce DB size. Will reopen if needed.

not much gain here.. decided to not drop this information.


Python 3.10 image not working

Hi,
Loving Deepnote, and thank you for integrating Docker!
I know the readme doesn't advertise it, but I've tried building the Python 3.10 Deepnote Docker Image in Deepnote in order to do a lesson on Python's new pattern matching syntax, and for some reason it's not running.  Here's my Dockerfile:
FROM deepnote/python:3.10

Any ideas on how I can get this to work?
Best wishes,
Nick

Hello Nick,
Python 3.10 is really not supported -- or I should better say was not. We are releasing Python 3.10 support later today or early this week.
Using Docker image with given Python version is not sufficient -- we had to prepare support for it in the rest of the infrastructure. This is something that did not use to work previously, as many libraries had limited or no support for Python 3.10. This is fortunately no longer true and 3.10 is no longer blocked.
I will try to ping this issue once 3.10 support is deployed in production.

Hello @nickdelgrosso.
We have shipped the full Python 3.10 support last week. Your can either use the out of box Python 3.10 environment in Deepnote or use you custom docker image with Python 3.10.


networking: make netns path absolute for CNI plugins

As discovered in #851 - some of the CNI plugins (for example, veth) relies on
the supplied CNI_NETNS as a source of uniqueness for things like entropy. In
theory this is reasonable because network namespace paths should be unique
per-pod. However, in rkt, the stage1 init (which executes the plugins) was
passing a relative path from its cwd, rather than an absolute path - for
example, "netns" rather than
"/var/lib/rkt/pods/foobarbaz/netns".
As a consequence of this, every network plugin was executed with the same
value for CNI_NETNS. This results in conflicts when e.g. every veth plugin
attempts to create an interface by the same name, since they do a
straightforward hash of CNI_NETNS to generate interface names.
This should be considered an interim solution until this is definitively
answered in the upstream CNI specification.

seems a bit hairy WRT container directory renames, the relative "." was immune to that.  However the container should be running if this stuff is executing, so a state change renaming the directory shouldn't be happening.

Yeah, I was trying to scope this as tightly as possible, it's only for plugin execution and not used by rkt itself.

This will break https://github.com/coreos/rkt/blob/d3226c4471d2cd2f402d84d2d8479ad434be87f3/Godeps/_workspace/src/github.com/appc/cni/plugins/ipam/host-local/main.go#L49 , but that would have already been broken for multiple instantiations...

Upstream issue for this: https://github.com/appc/cni/issues/5

Shipping this, with the known caveats :-(


Allow DESC ordering in window expressions

allow DESC ordering in window expressions
allow and accept NULLS FIRST / NULLS LAST options if they align with the actual ordering mode ; and report if they are unsupported

[ ] been self-reviewed.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.

Thanks a lot for the changes @kgyrtkirk :+1:

Thank you @imply-cheddar and @rohangarg for reviewing and merging the changes!


clarify compatibility with C7

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


changed the comment part. Actually instead of input(int()), it should…

… be int(input()) as we it makes a good impact on the user. i hope that was satisfiable.
Description
I've made some changes in sum of two no. where in the comment section you wrote input(int()) instead of int(input()).
Issue No.- #

Type issue number after hash(#)

Checklist

[ ] Yes, this task assigned to me.
[ ] My code follows the style guidelines(Clean Code) of this project
[ ] I have performed a self-review of my own code
[ ] My Filename is in camelCase format
[ ] I have added Problem statement, Problem link in file.

Missing and wrong issue number, Marking it as spam

K. I'm sorry for troubling you. 😓


Add option to include account data cache in backups

Users might not want to have to reload all their account data if they restore a backup. Including the option to export account data cache backups and restoration would be helpful.

Archive Backup creates a zip file containing a SetupTools backup and all account data in JSON format. These files can get rather large so it won't get stored in the browser.
Backup Upload feature now detects both JSON and zip archives. When a zip archive is provided it can contain a SetupTools configuration, account data cache, or both. Users can selectively restore what they want if they don't want to restore the entire backup (setuptools or data cache; per-guid could come later).

Released in Muledump v9.6.


[di] Debride dead code from splitting PMO/DI and hide state in preparation for other commits.

This PR contains two different commits that both eliminate code from DI that is guaranteed dead. They both exist due to the manner in which DI/PMO were split (the pass was carbon copied and then tons of constant propagation+DCE was done).
Specifically:

In the first commit, we ignore that collectUses always assert that our argument is an address type, so a destructure (or tuple_extract for that matter, which this code used to be), could never have been called.
In the second commit, I constant propagate two boolean parameters to DI's eliminate list that are always set to constant values. Then I DCE as appropriate.

I am trying to fix project_box et al so I am looking at DI since I need to make some improvements there. As I read the code I found these issues.

@swift-ci test

@swift-ci test source compatibility

Build failed
Swift Test Linux Platform
Git Sha - 16e628f8e7cc21c939e09429def6eb80f541af78

@swift-ci test linux platform

@swift-ci test windows platform

I did some more simplifications around this code, and I am going to include it here since it is all just NFC cleanups.

@swift-ci test source compatibility

@swift-ci test source compatibility

@swift-ci test source compatibility

@swift-ci test

@swift-ci test

@swift-ci test

@swift-ci test

@swift-ci test source compatibility


No response when clicking 'Help' for "animate mySprite loop frames interval (ms) when"

Describe the bug
No response when clicking 'Help' for "animate mySprite loop frames interval (ms) when"
Steps to reproduce the behavior
1.Navigate to https://arcade.makecode.com/stable--skillmap#sc
2.Right-click on "animate mySprite loop frames interval (ms) when"---->Help
Expect behavior
Show the help doc
Actual behavior
No response when clicking 'Help' for "animate mySprite loop frames interval (ms) when"

Additional context
1.OS: Windows(rs6)
2.arcade version: 1.6.4
3.Microsoft MakeCode version: 7.2.6

Amination extension was moved into libs/game (https://github.com/microsoft/pxt-common-packages/pull/1215). This block has changed.

Still not fixed

@shakao or @riknoll - any ideas?
The 'Help' requested here is for the extension block:
//% help=github:arcade-character-animations/docs/loop-character-animation
export function loopFrames(sprite: Sprite, frames: Image[], frameInterval: number, rule: Rule) {
}

My minimal investigation finds that no GET request goes out to retrieve loop-character-animation when the context help is clicked. This extension seems to be the only one used by this skillmap that provides help for its blocks. Either disable help for the blocks or debug the help path parse I guess?

huh... where is that block even coming from? It looks like the character-animation block but it's the wrong color. @kiki-lee did you duplicate it?

In https://raw.githubusercontent.com/microsoft/pxt-arcade/master/docs/skillmap/sc/sc6a.md -
    //% help=github:arcade-character-animations/docs/loop-character-animation
    export function loopFrames2(sprite: Sprite, frames: Image[], frameInterval: number, rule: number) {
        characterAnimations.loopFrames(sprite, frames, frameInterval, rule);
    }

ahhh, I got it. thanks @ganicke
the package reference in the markdown is using the wrong package id.
this:
```package
pxt-tilemaps=github:microsoft/pxt-tilemaps/
arcade-premium-life=github:jwunderl/arcade-premium-life/
pxt-characterAnimations=github:microsoft/arcade-character-animations/
```

should be:
```package
pxt-tilemaps=github:microsoft/pxt-tilemaps/
arcade-premium-life=github:jwunderl/arcade-premium-life/
arcade-character-animations=github:microsoft/arcade-character-animations/
```

@kiki-lee

Thanks @riknoll, I think that fixed it - #4633.


Data Wrongly Replicate to other Section when Scroll the multiple Carouselview in CollectionView on Xamarin IOS

Hi ...
i have issue on Xamarin IOS
CarouselView Data Replicate to other Section When i Scroll the CollectionView
i mean ... I Display the Section Based CarouselView ..So i Just Added multiple Template for that View and Display the multiple carousel in single collection view ..
The Display Data Wrongly few second Display in other section and it was disappear
My Question why it occur fast scroll on collectionview and it only issue on IOS

Try to set IsViewReusingEnabled="False"


OnlyOffice functions not working on Raspberry Pi 4 install

Error 1 - from the OnlyOffice container when trying to open a .docx document:
-02T08:54:59.067] [ERROR] [localhost] [conv_3807696080_jpeg] [userId] nodeJS - error downloadFile:url=http://nginx-server/index.php/apps/onlyoffice/download?doc=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhY3Rpb24iOiJkb3dubG9hZCIsImZpbGVJZCI6MjksInVzZXJJZCI6ImFkbWluIn0.LXtGVZ98s9h_TcTlUiNIGBoRuxZMpnZy0spfgB3JzS4;attempt=3;code:undefined;connect:undefined Error: Error response: statusCode:400; headers:{"server":"nginx","date":"Fri, 02 Jun 2023 08:54:59 GMT","content-type":"text/html; charset=UTF-8","transfer-encoding":"chunked","connection":"keep-alive","x-powered-by":"PHP/8.2.6","set-cookie":["oc_sessionPassphrase=jlEtzMgLhoRtD93A2omnoqmPytCbUzZm8Oe5WCpq68OF5PvOTIqPrCNplgt1WeWyP9TOkSkdjlNlcPspuRKwfRhQqW26VxPI0cIfbUWrtuFv%2B4IoLIL%2FWRciWxzJ9BGk; path=/; HttpOnly; SameSite=Lax","nc_sameSiteCookielax=true; path=/; httponly;expires=Fri, 31-Dec-2100 23:59:59 GMT; SameSite=lax","nc_sameSiteCookiestrict=true; path=/; httponly;expires=Fri, 31-Dec-2100 23:59:59 GMT; SameSite=strict","oc6thb68yly5=66e409451e93fdd9f2e14ffaecbc048b; path=/; HttpOnly; SameSite=Lax"],"content-security-policy":"default-src 'self'; script-src 'self' 'nonce-SXEvM1FZZC9pc01ZTkhsU3RSRjZ6R3gwbmJPUE5BRVJ1L3dSbnFTdENlbz06Q2Q2ZU9NVTk1NnAzQnhVRGpXSkNpaHNDMUp6Yld6SmUvNHA5eWUzYVBLaz0='; style-src 'self' 'unsafe-inline'; frame-src *; img-src * data: blob:; font-src 'self' data:; media-src *; connect-src *; object-src 'none'; base-uri 'self';","expires":"Thu, 19 Nov 1981 08:52:00 GMT","cache-control":"no-store, no-cache, must-revalidate","pragma":"no-cache"};
at Request.fResponse (/snapshot/server/build/server/Common/sources/utils.js)
at Request.emit (events.js:400:28)
at Request.onRequestResponse (/snapshot/server/build/server/Common/node_modules/request/request.js:1059:10)
at ClientRequest.emit (events.js:400:28)
at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:647:27)
at HTTPParser.parserOnHeadersComplete (_http_common.js:127:17)
at Socket.socketOnData (_http_client.js:515:22)
at Socket.emit (events.js:400:28)
at addChunk (internal/streams/readable.js:293:12)
at readableAddChunk (internal/streams/readable.js:267:9)
at Socket.Readable.push (internal/streams/readable.js:206:10)
at TCP.onStreamRead (internal/stream_base_commons.js:188:23)
Error 2 - when trying to select 'Connect to ONLYOFFICE Docs Server'
Error when trying to connect (Error occurred in the document service: Error while downloading the document file to be converted.) (version <IP_ADDRESS>)

Now working when I re-installed after shutting down my proxy server Traefik. Not sure why that should make any difference, but seems to be Ok.

Glad to hear it's resolved! Let us know if you run into any other issues with the setup


Wierd linting bug

When I open a file in the packages/checkbox directory on initial load, then ESLint works fine from what I can tell. If I open a file from scripts on initial load, there is an ESLint error as shown in the video. Everything works fine in CMD.
Repo: https://github.com/flux-ui/flux-ui/tree/feat/checkbox-variants
Example: https://user-images.githubusercontent.com/46873232/156261140-671c1d0b-2509-4006-9ecf-21072a7ca29f.mp4

Is there anything special in the ESLint output channel?

I tried to reproduce this but couldn't. Can you please provide me with steps to do so. And I noticed that you have a working directories setting but scripts is not listed.

OK. I can reproduce now, but I have no good explanation for why this is happening. Very likely an issue of some caching in the eslint module.

I digged a little bit around and it looks like a setup problem (very likely on your end). If I change useUuid in file use-uuid.ts for useUuid$$ and run npm run build I get

which give the same errors whithout TypeScript complaining about that useUuid is not a know identifier which IMO should be the case.

With $$ at the end it works fine.
Branch: https://github.com/Xenfo/flux-ui
Run: https://github.com/Xenfo/flux-ui/runs/5449584111?check_suite_focus=true
Could it be the experimental feature I have enabled for Typescript ESLint in my foot config?

Actually what I meant is only changing useUuid to useUuid$$ in use-uuid.ts. In this case I would expect that the TS compiler reports an error in checkbox.ts which it doesn't and ESLint still reports the error (even in the terminal). This indicates that the TS configuration isn't setup correctly resulting in TypeScript ESLint not working correctly either.


Root level hooks?

I need to do some 'root hooks'
https://mochajs.org/#root-level-hooks
specifically and "after" hook to cleanup an external process I'm running...
is this possible with mocha-typescript? I'm struggling to get the function "picked up" by mocha.
thanks much -- Chad

before, beforeEach, after, afterEach all behave as in "regular mocha" and the @suite @test act as describe and it. Just throw the after in a test module somewhere on a root level. I planed mocha-typescript to help in appium and design page objects and have root hooks to start stop decices. It should just work. I am not on a computer right now but if you can't make it work I will check it later.

thanks @pana-cc -- unfortunately I'm not having any luck.
I've added this code as before-and-after.spec.ts
async function before(): Promise<void> {
  console.log('gg before');
}

async function after(): Promise<void> {
  console.log('gg after');
}

If I add it to my src directory, none of my tests run -- odd behavior:
Chads-MBP:myapp-backend chadbr$ yarn test
yarn run v1.2.1
warning package.json: License should be a valid SPDX license expression
$ mocha --recursive --require ts-node/register -R spec ./**/*.spec.ts --no-timeouts --exit --environment local

  0 passing (1ms)

✨  Done in 1.26s.
Chads-MBP:myapp-backend chadbr$

If I add it in a sub dir to src -- for example 'src/utilities' - the mocha run just hangs:
Chads-MBP:myapp-backend chadbr$ yarn test
yarn run v1.2.1
warning package.json: License should be a valid SPDX license expression
$ mocha --recursive --require ts-node/register -R spec ./**/*.spec.ts --no-timeouts --exit --environment local
^C

any ideas welcomed.
Thanks - Chad

adding export to the functions keeps the tests from hanging -- but they're still not 'hooked'
changing them to be non-async had no effect either...
export async function before(): Promise<void> {
  console.log('gg before');
}

export async function after(): Promise<void> {
  console.log('gg after');
}

export function before() {
  console.log('gg before');
}

export function after() {
  console.log('gg after');
}


flagging as captive should remove obs from the map tiles

It doesn't seem to be, but I need to make sure of that. Search for obs of Strelitzia in CA.

I can confirm that this is no longer happening, at least with Strelitzia. Map tile caches aren't expired, but the index is updated, so I think that's fine. I suspect this was fixed by 4a5486b4af194a571eb81352cafe63ccda4e0fa9


Allow Edge Control to build on Windows

@ark3 can you comment on the testing that was done with these changes?

The usual automated testing of Edge Control on Linux (via CI) ran, plus testing of edgectl version on all supported platforms via AES CI that I'll PR next.
The primary goal is to make sure I haven't broken Edge Control for Mac or Linux; I think CI covers that decently, but we don't have automated tests around the AES-specific features. I re-tested them manually.
I'm going to test on a real Windows machine tomorrow, but I want CI going for this stuff ASAP.

Looks good to me!


Added Ogle variable star classification

Add class weights, change y_train to processed by the user.

Hello @akhilsinghal1234! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file mirapy/classifiers/models.py:

Line 118:80: E501 line too long (86 > 79 characters)

In the file mirapy/data/load_dataset.py:

Line 153:17: E722 do not use bare 'except'


Deal with type extensions

<Type ref="CommonTypes" complex="extension" name="BaseNameType"/>
XSLT is ignoring these, so right now NameOfRecordType, OtherNameType are being treated as chardata.

Done for golang. Need to see what GraphQL understands.

GraphQL doesn't do type extensions, so we'd need to manually add extension fields to the inheriting types. Can be done; not clear though whether we're going to use GraphQL with a SIF-based schema at all. So parking this issue.

Type extensions have been address in the Golang, and the GraphQL needs overhaul anyway; getting rid of ticket.


New Button Selection Widget

Similar to dropdown, will allow from a selection. If a multiple_allowed flag is enabled, then multiple options can be enabled.

Done in #96 Except not buttons, it's in Select


model weight license

Thanks for great repository !!! Running the provided models in my environment, the result was great.
By the way, Are the license of model weights provided in this repository(u2net_human_seg.pth / u2net_portrait.pth , and so on ) same as the repository (=Apache-2.0) ?

Thanks for your interests. All the released codes and models in this repo
follow the same license currently. If you want to use them to your
applications, please check the datasets licenses, which are not
controlled by us. BTW, we would appreciate it if you could put a reference
of our paper or repo in your application. All the best.
On Tue, May 25, 2021 at 12:02 PM kanbac5 @.***> wrote:

Thanks for great repository !!! Running the provided models in my
environment, the result was great.
By the way, Are the license of model weights provided in this
repository(u2net_human_seg.pth / u2net_portrait.pth , and so on ) same as
the repository (=Apatch2.0) ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/xuebinqin/U-2-Net/issues/208, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADSGORL5S44MHO2MWQR4SZDTPNKTDANCNFSM45OYRMSA
.

--
Xuebin Qin
PhD
Department of Computing Science
University of Alberta, Edmonton, AB, Canada
Homepage:https://webdocs.cs.ualberta.ca/~xuebin/

Thanks for your reply !

If you want to use them to your applications, please check the datasets licenses, which are not controlled by us.
Sorry for my lack of knowledge about relation model weights license and corresponding dataset, I have another question.
Were u2net.pth / u2netp.pth trained on DUTS-TR ? (mentioned in Section 4.1 in paper ) , and in that case, those 2 weights license  are same as DUTS-TR license, is it right ??

BTW, we would appreciate it if you could put a reference
of our paper or repo in your application
yes, of course !

Thanks.

Yes, both are trained with DUTS.
On Tue, May 25, 2021 at 6:57 PM kanbac5 @.***> wrote:

Thanks for your reply !
If you want to use them to your applications, please check the datasets
licenses, which are not controlled by us.
Sorry for my lack of knowledge about relation model weights license and
corresponding dataset, I have another question.
Were u2net.pth / u2netp.pth trained on DUTS-TR ? (mentioned in Section 4.1
in paper ) , and in that case, those 2 weights license are same as DUTS-TR
license, is it right ??
BTW, we would appreciate it if you could put a reference
of our paper or repo in your application
yes, of course !
Thanks.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/xuebinqin/U-2-Net/issues/208#issuecomment-847940986,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADSGORMMHMSX2D3OEP4TKSLTPO3F5ANCNFSM45OYRMSA
.

--
Xuebin Qin
PhD
Department of Computing Science
University of Alberta, Edmonton, AB, Canada
Homepage:https://webdocs.cs.ualberta.ca/~xuebin/

Thanks !  I  understood.


[AutoRelease] t2-hybridcontainerservice-2023-11-24-94144(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/4737
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=5719

issue link:https://github.com/Azure/sdk-release-request/issues/4737


unpin message from PinnedMessageActivity

@RocketChat/android

Closes #852

Description
This PR allows you to unpin the pinned Message from PinnedMessageActivity
OnLongClick on the pinned message the alertDialog will ask you to unpin the message.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@divyanshub024 Thank you for your PR! I believe we can show all the actions we're showing today on the messages list, instead of just this alert. What do you think?

@rafaelks I didn't get it. By this, you mean that every message should have an icon to unpin?

I also want to know why the circleci test failed?

@rafaelks I think its a great idea. I'll start working on it.

clone: #1029


Ghost buttons in button group

Link to issue: http://blazecss.com/community/forum/#!/general:button-group-with-ghost-but

#43


[Discussion] Removal of OptionsMonitor (ReloadableOptions) for 1.0.0

We are moving this feature to a sample for 1.0.0, and will revisit this feature in 1.0.1, we weren't totally happy with the current state of it, and want to give it more time to bake.
Note, this does not affect configuration reload on file change or the logging usage of that feature.

I was just looking at this functionality, and I think I can see why it's been removed as I had great difficulty getting it to work with rc2, but I was wondering what the reasoning behind removing it was?
It seems like having a reload triggered by a configuration change will be a relatively common use case, especially given the pushing of the the Options pattern in the docs, as well as the reloadOnChange option on FileConfigurationProvider.
At the moment, it's pretty confusing I think to have the underlying IConfigurationRoot be updated while the IOptions<values> injected in to your controllers do not change.

It wasn't so much removed as postponed to post 1.0.0 due to lack of time.  We weren't satisfied with shipping it in its current state and wanted to make sure we had enough time to give it the proper attention before shipping it.

Is there any alternative for the OptionsMonitor with strongly typed options?

I just hit the reloadOnChange issue not working in this scenario
              var builder = new ConfigurationBuilder()
                            .AddJsonFile("vqconsoleappsettings.json", optional:false, reloadOnChange:true)
                            .AddJsonFile("vqconsoleappsettings.dev.json", optional:true)
                            .SetBasePath(Path.GetDirectoryName(typeof(Program).GetTypeInfo().Assembly.Location));

            var config = builder.Build();

            var cfConfig = new ClassFactoryConfiguration();
            ConfigurationBinder.Bind(config, cfConfig);

If I have a loop and Console.WriteLine(cfConfig.Blah); and change the value of Blah in the json file I don't see the updated value.
Are there plans to make this feature available?

I was trying to create a custom provider which updates the configuration on specific events, but the configuration was never changing.
Is it related to this issue? Is it considered for 1.1, since 1.0.1 mentioned in the first post is already out?

Updating configuration providers when configuration changes is not related options, did you derive from FileConfigurationProvider?  If not you would have to hook up something similar to get reload events

@HaoK I've derived from ConfigurationProvider because my provider doesn't have anything to do with files (it's based on Redis publish/subscribe), and invoked this.OnReload() method on updated.
Should I copy other reload-related parts from FileConfigurationProvider?

Calling OnReload will fire the reload token on your IConfiguration, do you have anything listening to that token?  Basically triggering that will call any callbacks you registered via config.GetReloadToken().RegisterCallback(yourCallback)

OptionsMonitor is back in 1.1-preview1 acecacff57f9399e5871216a3f5a073548700dc3

@Rick-Anderson as a heads up, this is a good topic to add in our 1.1 docs. E.g. we should probably start recommending customers to use IOptionsSnapshot<TOptions> almost identically to how the use IOptions<TOptions> today in per-request instances but with the advantage that they can get fresh values if the configuration changes.

Does this address my issue?
On Wednesday, 12 October 2016, Diego Vega<EMAIL_ADDRESS>wrote:

@Rick-Anderson https://github.com/Rick-Anderson as a heads up, this is
a good topic to add in our 1.1 docs. E.g. we should probably start
recommending customers to use IOptionsSnapshot almost
identically to how the use IOptions today in per-request
instances but with the advantage that they can get fresh values if the
configuration changes.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/Options/issues/144#issuecomment-253329955, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAGapqkC-9plC0gXc4uR7DWQ-FbZjfFbks5qzUNUgaJpZM4InCS-
.

Yes you could use IOptionsMonitor to listen for changes

I just upgraded to 1.1 because I ran into the problem of my IOptions<T> classes not getting updated when underlying appsettings.json file changed (Thanks @andrewlock http://andrewlock.net/reloading-strongly-typed-options-when-appsettings-change-in-asp-net-core-rc2/).
If I understand correctly, I need to change to IOptionsSnapshot<TOptions> to get the desired behavior of reloading on settings change. I have 47 places in my code that use IOptions. I wish there were a way to just configure IOptions to reload on appsettings change instead of having to change all 47 places. Is that possible?
Could I just configure IOptions to be scoped instead of a singleton? So based on this: https://github.com/aspnet/Options/commit/acecacff57f9399e5871216a3f5a073548700dc3#diff-c783cfdb19a5ae3afb2dfd49f479c0a7R27 in my Startup.cs I would:
services.AddScoped<IOptions<>, OptionsSnapshot<>>();?

@pholly It we would have been nice if IOptions<T> could just acquire this functionality automatically but we discussed this extensively and the team had concerns that it could cause subtle bugs in scenarios in which existing code could rely on the same singleton IOptions<T> to be returned every time it resolved it from DI.
It is a done deal so my recommendation would be to just start using IOptionsSnapshot<T> where appropriate.

I think keeping the existing behavior would have been fine, but if we had the ability to configure IOptions to return OptionsSnapshot instead that would have been nice. Thanks for the explanation.


Shortcut sequences don't work

There's a disabled test for this in KeyboardShortcutManager.test.js


Cybereason: Fix for reported issue - Ungroup Malwares from Splunk SOAR

Release Notes

Changed the Malware polling feature to ungroup Malwares with same GUID, but different timestamp

What is the current behavior?

Currently the app, when polling for Malwares, groups them based on their GUID's.

What is the new behavior?

The grouping of Malwares is now done based on GUID and Timestamp both.

Thank you for your submission! We have a total of 8 PRs open right now, and we are working hard on all of them! We will take a look as soon as we can.

@ritesh-metron
To solve static failures, can you refer digital shadows connector file and change the code accordingly ?

@ritesh-metron To solve static failures, can you refer digital shadows connector file and change the code accordingly ?

@ritesh-metron Any update on this?

@mishalp-crest
Done with the changes. Please take it forward

As we don’t have access for source branch
We have done required standard changes in #7