DD_EXTENSION | ERROR | SyncForwarder.sendHTTPTransactions i/o timeout

We are using version 21 of the datadog lambda extension layer on the AL2 lambda runtime. We are frequently seeing errors like this for each concurrent lambda running:
DD_EXTENSION | ERROR | SyncForwarder.sendHTTPTransactions final attempt: error while sending transaction, rescheduling it: Post "https://6-0-0-app.agent.datadoghq.eu/api/beta/sketches?api_key=***************************8e464": dial tcp <IP_ADDRESS>:443: i/o timeout

It seems to be really slowing down the execution of our lambda, resulting in timeouts at 15 seconds when the lambda timeout is exceeded.
We tried both datadoghq.com and datadoghq.eu for DD_SITE but experienced similar behavior.

Hi, I too am experiencing this error using the datadog lambda extension.
Please note that it only occurs when my lambda is in a VPC.
I tried setting up my proxy using environment variables DD_HTTPS_PROXY and DD_HTTP_PROXY.
Those variables are displayed at the beginning of my lambda logs (confirming their presence) but it really seems to me like the extension is not taking them into consideration while making the request to datadog. Hence giving me this error.
To make sure my proxy was working correctly, I took the request to datadog : "https://6-0-0-app.agent.datadoghq.eu/api/v1/check_run?api_key=" with my apikey and did a small lambda doing the call, in a VPC, with proxy values set manually. It worked !
It seems I must be using the extension wrong (I'm with CDK) or there is a problem somewhere. Can you help me ?

@quentinbarbault what you described sounds like a different issue potentially. Do you see the error for every invocation or sporadically?

It happens for every invocation. It seems after some more research it is related to the way I'm using my company proxy.
I added Basic Authentification to the proxy so that my lambda are not only recognized by their Security Groups, which might be an issue in my company current architecture.
Do you know if I can specify a Basic Authentification to the Datadog Lambda Extension ? Which will be used during the call to Datadog.
I've seen nothing on this specific feature in the Datadog Agent main repository. If this is not yet supported, I'll create an issue there and it would be nice to support it here as well.
Thank you for your help.

@quentinbarbault
Are you seeing the error with v22?

Closing this for now, let me know if you need to re-open it


chore: optimize build

Explanation
Get rid of clean scripts and replace source maps to get rid of eval code + improve build speed a little bit.
Details are bellow:

[x] Remove clean scripts
[x] Update source maps

More Information
Fixes #107
Screenshots/Screencaps
N/A
Manual Testing Steps
Just try to run npm run dev and npm run build to check if extension loads properly.
Pre-Merge Checklist

[x] PR template is filled out
[ ] IF this PR fixes a bug, a test that would have caught the bug has been added
[x] PR is linked to the appropriate GitHub issue
[ ] PR has been added to the appropriate release Milestone

+ If there are functional changes:

[ ] Manual testing complete & passed
[ ] "Extension QA Board" label has been applied

PR template source from github.com/MetaMask

@iskdrews what's the exact error there? I can't see any eval errors and the demo works as expected.

@iskdrews what's the exact error there? I can't see any eval errors and the demo works as expected.

There isn't any error, because the eval code is just moved the dist/js/injected.js still not sure if that would be accepted this way to be approved from chrome reviewers or not.

Ya I'm not seeing any errors on the cryptkeeper side, except for a ObjectMultiplex - orphaned data for stream "publicConfig" warning.

This is building and working good for me. I am not understanding the injection being an issue @iskdrews, could you explain that to me when you can?

I think all is good now, as @0xmad said it is just an hardcoded value and it doesn't take any inputs so no security risk.

Ya I'm not seeing any errors on the cryptkeeper side, except for a ObjectMultiplex - orphaned data for stream "publicConfig" warning.

There is an issue for tracking resolving this warning already, but not resolved yet.
https://github.com/CryptKeeperZK/crypt-keeper-extension/issues/111


apimanagement release

https://github.com/Azure/sdk-release-request/issues/4372

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-arm-apimanagement


netkvm: HLK NDISTest 6.5 - [1 Machine] - GenericMiniportRequirements test failed

This is a query regarding an issue I encountered while running HLK tests. I noticed that the "NDISTest 6.5 - [1 Machine] - GenericMiniportRequirements" test case failed due to the absence of the Port1DeviceNumber or Port1FunctionNumber in the INF file. However, I observed that this particular test passes successfully during the automated HLK testing we carry out when submitting patches. I'm quite puzzled by this discrepancy. Could you please explain why this might be happening? thanks

I've seen this failure when I had multiple virtio-net vNICs added to the guest.

In any case, virtio-net is not multiport device (yet? we will see what happens with SR-IOv). https://learn.microsoft.com/en-us/windows-hardware/drivers/network/ddinstall-section-in-a-network-inf-file
So it looks like a bug in the test confusing several separate devices with a multiport device.

No problem.
Closing.


GSM8k, SVAMP, TabMWP for ReAct

🤔 Reasoning
Explain the purpose of this PR...
🚧 Changes
Describe the changes made...
✅ PR Checklist

[x] Using this PR template?
[ ] Linked issue?
[ ] Added feature?

[ ] Added/updated docs?
[ ] Added/updated tests?

Summary by CodeRabbit

Documentation

Updated status indicators for various methods/benchmarks in the documentation table.
ReAct status updated to complete.
CRITIC status updated to fully complete.
Self-Refine status updated to incomplete.

Chores

Adjusted version number in the react.ipynb notebook metadata.

@coderabbitai pause


Sentence Quality

Description
Currently we have low direct match percentage of the words from the read documents it must be improved.
Workflow
1-Research a better method for better reading.
2-Implement the method.
Acceptance Criteria
Improve the matching percentage to %95.

Added regex processes to improve sentence quality.
Further implementations and methods are needed to increase matching percentage this topic can be reopened in future weeks if found new methods and extraction processes.


disallowed MIME type and CORS

Your issue may already be reported!
Please search on the issue tracker before creating one.
Hello, i have this issue after installing the demo on my development server
Loading module from “https://s0.pkgkit.com/undefined/awes-io/chart-builder/v1.1.0/js/main.js?v=20190814075413” was blocked because of a disallowed MIME type (“text/html”). login
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://s0.pkgkit.com/undefined/awes-io/chart-builder/v1.1.0/js/main.js?v=20190814075413. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Module source URI is not allowed in this document: “https://s0.pkgkit.com/undefined/awes-io/chart-builder/v1.1.0/js/main.js?v=20190814075413”. login:42:1
Loading module from “https://s0.pkgkit.com/undefined/awes-io/context-menu/v1.1.2/js/main.js?v=20190814075413” was blocked because of a disallowed MIME type (“text/html”). login
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://s0.pkgkit.com/undefined/awes-io/context-menu/v1.1.2/js/main.js?v=20190814075413. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Module source URI is not allowed in this document: “https://s0.pkgkit.com/undefined/awes-io/context-menu/v1.1.2/js/main.js?v=20190814075413”. login:43:1
Loading module from “https://s0.pkgkit.com/undefined/awes-io/filter-wrapper/v1.1.0/js/main.js?v=20190814075413” was blocked because of a disallowed MIME type (“text/html”). login
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://s0.pkgkit.com/undefined/awes-io/filter-wrapper/v1.1.0/js/main.js?v=20190814075413. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Module source URI is not allowed in this document: “https://s0.pkgkit.com/undefined/awes-io/filter-wrapper/v1.1.0/js/main.js?v=20190814075413”. login:44:1
Loading module from “https://s0.pkgkit.com/undefined/awes-io/form-builder/v1.7.0/js/main.js?v=20190814075413” was blocked because of a disallowed MIME type (“text/html”). login
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://s0.pkgkit.com/undefined/awes-io/form-builder/v1.7.0/js/main.js?v=20190814075413. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Module source URI is not allowed in this document: “https://s0.pkgkit.com/undefined/awes-io/form-builder/v1.7.0/js/main.js?v=20190814075413”. login:45:1
Loading module from “https://s0.pkgkit.com/undefined/awes-io/indigo-layout/v1.10.15/js/main.js?v=20190814075413” was blocked because of a disallowed MIME type (“text/html”). login
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://s0.pkgkit.com/undefined/awes-io/indigo-layout/v1.10.15/js/main.js?v=20190814075413. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Module source URI is not allowed in this document: “https://s0.pkgkit.com/undefined/awes-io/indigo-layout/v1.10.15/js/main.js?v=20190814075413”. login:46:1
Loading module from “https://s0.pkgkit.com/undefined/awes-io/modal-window/v1.1.3/js/main.js?v=20190814075413” was blocked because of a disallowed MIME type (“text/html”). login
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://s0.pkgkit.com/undefined/awes-io/modal-window/v1.1.3/js/main.js?v=20190814075413. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Module source URI is not allowed in this document: “https://s0.pkgkit.com/undefined/awes-io/modal-window/v1.1.3/js/main.js?v=20190814075413”. login:47:1
Loading module from “https://s0.pkgkit.com/undefined/awes-io/system-notify/v1.2.3/js/main.js?v=20190814075413” was blocked because of a disallowed MIME type (“text/html”). login
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://s0.pkgkit.com/undefined/awes-io/system-notify/v1.2.3/js/main.js?v=20190814075413. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Module source URI is not allowed in this document: “https://s0.pkgkit.com/undefined/awes-io/system-notify/v1.2.3/js/main.js?v=20190814075413”. login:48:1
Loading module from “https://s0.pkgkit.com/undefined/awes-io/table-builder/v1.3.0/js/main.js?v=20190814075413” was blocked because of a disallowed MIME type (“text/html”). login
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://s0.pkgkit.com/undefined/awes-io/table-builder/v1.3.0/js/main.js?v=20190814075413. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Module source URI is not allowed in this document: “https://s0.pkgkit.com/undefined/awes-io/table-builder/v1.3.0/js/main.js?v=20190814075413”. login:49:1
Loading module from “https://s0.pkgkit.com/undefined/awes-io/theme-switcher/v1.1.0/js/main.js?v=20190814075413” was blocked because of a disallowed MIME type (“text/html”). login
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://s0.pkgkit.com/undefined/awes-io/theme-switcher/v1.1.0/js/main.js?v=20190814075413. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Module source URI is not allowed in this document: “https://s0.pkgkit.com/undefined/awes-io/theme-switcher/v1.1.0/js/main.js?v=20190814075413”. login:50:1
Loading module from “https://s0.pkgkit.com/undefined/awes-io/virtual-tour/v1.2.0/js/main.js?v=20190814075413” was blocked because of a disallowed MIME type (“text/html”). login
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://s0.pkgkit.com/undefined/awes-io/virtual-tour/v1.2.0/js/main.js?v=20190814075413. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Module source URI is not allowed in this document: “https://s0.pkgkit.com/undefined/awes-io/virtual-tour/v1.2.0/js/main.js?v=20190814075413”. login:51:1
The script from “https://s0.pkgkit.com/undefined/awes-io/base-js/v1.8.3/js/main.js?v=20190814075413” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type. login
Loading failed for the

Dear @anditsung,
please follow the link to fix your issue: https://github.com/awes-io/awes-io/issues/118
Best,
Yevhen


With CiliumEndpointSlices on, Egress Gateway policies are not added/deleted correctly

What happened?
Tested on EKS.
When CiliumEndpointSlices are enabled, removing Egress Gateway policies does not behave as expected and rules are not created or removed in datapath's map.
I did the following:

Set up an EKS cluster, with both CiliumEndpointSlices and Egress Gateway enabled.
Create a minimal Egress Gateway policy for one node, apply it.
At this point:

I can see the CRD loaded for Kubernetes with kubectl get crd ciliumegressgatewaypolicies.cilium.io.
But I can not see any relevant rule in the output from cilium bpf egress list on the Agent pod.

Conversely, for deleting a policy that was added without CES:

Set up an EKS cluster, with Egress Gateway enabled but CiliumEndpointSlices disabled.
Create a minimal Egress Gateway policy for one node, apply it.
At this point:

I can see the CRD loaded for Kubernetes with kubectl get crd ciliumegressgatewaypolicies.cilium.io
I can also observe the relevant rules from cilium bpf egress list on the Agent pod.

Enable CiliumEndpointSlices.
At this point:

Kubernetes no longer sees the policy.
The rules are still in place in cilium bpf egress list.

Instead, I would expect rules to be added to the Egress Gateway map when the policy is created, and removed when it is deleted, independently of CiliumEndpointSlices being enabled.
Having the rules not created/deleted properly results in inconsistencies in the datapath's behaviour, and I've observed connectivity loss for some pods.
I note that Egress Gateway was not initially supported with CiliumEndpointSlices when the latter was introduced (see https://github.com/cilium/cilium/issues/17669), but that this was supposedly addressed in https://github.com/cilium/cilium/pull/19194 (cc @blzhao-0).
Cilium Version
1.12.4
Kernel Version
5.4.238-148.346.amzn2.x86_64
Kubernetes Version
v1.23.17-eks-ec5523e

cc @Weil0ng @alan-kut

cc @dlapcevic @alexkats

(adjusting title / labels, as this is now a documented limitation that is enforced by the agent)

Hi, I'd like to pick up this issue, would someone be able to assign me please?

Some code pointers for you @jshr-w
Here is where EGW currently is fetching CiliumEndpoint information: https://github.com/cilium/cilium/blob/43d65ed933e57fb079c9f960ab82b60fb36d46fd/pkg/egressgateway/manager.go#L328
This is handling only "regular" CEPs: https://github.com/cilium/cilium/blob/43d65ed933e57fb079c9f960ab82b60fb36d46fd/pkg/egressgateway/manager.go#L107
There is a similar resource pattern for CiliumEndpointSlices: https://github.com/cilium/cilium/blob/2311f3d7811c8950b7f5e1e2ac290f8216be0dc3/daemon/k8s/resources.go#L168
Here is how the handling of CES is done for other features:

Events loop similar to regular CEP: https://github.com/cilium/cilium/blob/b0164d4da604fa6f39f4637cbab16269ea709b25/pkg/k8s/watchers/cilium_endpoint_slice.go#L51
Here is the part that goes through these events: https://github.com/cilium/cilium/blob/bacf2e8718e603b6b74bd599711d73f3f7bfcddb/pkg/k8s/watchers/cilium_endpoint_slice_subscriber.go#L67
which triggers update per each endpoint separately: https://github.com/cilium/cilium/blob/bacf2e8718e603b6b74bd599711d73f3f7bfcddb/pkg/k8s/watchers/cilium_endpoint_slice_subscriber.go#L172 - it has the same type that EGW is now expecting "*types.CiliumEndpoint"

Also, there is a check that crashed cilium when CES is enabled: https://github.com/cilium/cilium/blob/43d65ed933e57fb079c9f960ab82b60fb36d46fd/pkg/egressgateway/manager.go#L182
So these are some code-pointers how it is/works right now.
How I imagine it could work:

EGW Instead of relying on its own informer https://github.com/cilium/cilium/blob/43d65ed933e57fb079c9f960ab82b60fb36d46fd/pkg/egressgateway/manager.go#L328
could instead just subscribe to events in:
https://github.com/cilium/cilium/blob/9cd56a2fbeed048b6e2709f9f5a55fe18d3b0bfe/pkg/k8s/watchers/cilium_endpoint.go#L97
and for delete events: https://github.com/cilium/cilium/blob/9cd56a2fbeed048b6e2709f9f5a55fe18d3b0bfe/pkg/k8s/watchers/cilium_endpoint.go#L207
In this way, it would be handling both regular CEP and CES transparently and even improving current scalability for EGW users that use CEP as agent's wouldn't open duplicated watchers.

@julianwiedmann do you have maybe some other pointers or better vision for supporting CES :) ?

do you have maybe some other pointers or better vision for supporting CES :) ?

Not at all, I would also just start by looking how other consumers are handling it today :).
One thing to note is the caveat in https://github.com/cilium/cilium/pull/29124:

The drawback of using UID is incompatibility with CiliumEndpointSlices, which is however not an issue for the EGW, as it is already incompatible. In the future the EGW will probably move away from relying on CiliumEndpoints altogether, which should remove this limitation.

Not at all, I would also just start by looking how other consumers are handling it today :).

How everyone else is doing it is through subscribing to managers, like this:

node: https://github.com/cilium/cilium/blob/2311f3d7811c8950b7f5e1e2ac290f8216be0dc3/pkg/node/manager/cell.go#L41
endpoint: https://github.com/cilium/cilium/blob/2311f3d7811c8950b7f5e1e2ac290f8216be0dc3/pkg/endpointmanager/cell.go#L127

This would also include support for kvstore/clustermesh etc, so I think it's an order of magnitude harder - or at least it would require order of magnitude more testing.

I will unassign Shreya for now, as it's probably a bit too convoluted area of code right now.


[Bug]: Enhancing the ui design of the contributors page.

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Enhancing the ui design of the contributors page.
Expected behavior
More good contributors page in place of just images and all i will make it super awersome and stylish according to the ui.
Add ScreenShots
@apu52 Assign this to me under gssoc 2024 ext and hacktoberfest i will work on this issue.
On which device are you experiencing this bug?
No response
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I'm a SSOC'24 contributor
[X] I have starred the repository

@tarunkumar2005 u are assigned


FEAT: Add all object sensor to camera and zone devices

Fix for #161
Related frigate PR: https://github.com/blakeblackshear/frigate/pull/2908

Would you mind adding a test that verifies that the entity is not present at first, then is present when enabled? For inspiration, see: https://github.com/dermotduffy/hass-core/blob/dev/tests/components/hyperion/test_switch.py#L187
Key bit:
  updated_entry = entity_registry.async_update_entity(
      entity_id, disabled_by=None
  )

Otherwise, looks great to me.
In terms of merging, I'd suggest we wait until https://github.com/blakeblackshear/frigate/pull/2908 is in, just in case there is feedback upstream.

@dermotduffy Let me know what you think of the tests I added. And yeah I agree will want to wait until frigate PR is merged 👍

@NickM-27 Looking good! Minor typo.


Fix AbstractChannelTest errors caused by incorrect mocking

Motivation:
In AbstractChannelTest we not correctly mocked some methods which could lead to test errors. That said it only showed up here when running from the IDE and not from the cmdLine.
Modifications:
Mock methods that are needed for the test
Result:
Test pass in the IDE as well.

test-failure not related

Cherry-picked into 4.0 (c18ba23838269cfd768b8806ca769635954405b1) and 4.1 (8b123a554608aa677d1fe30af47776bf6197cd2c)


💡 [REQUEST] - a button on bottom right of page which will take on top of website

[x] I am from GSSoC'23.
[x] I would like to be assigned this task.

Section
Description

Concise Description
if a person want to go on top of website they will have to scroll i will add a button which directly take user to top of website

Solution Proposed
a button on bottom right of page which will take on top of website

Code of Conduct
By submitting this issue, you agree to follow our Code of Conduct.

[x] I follow the Contributing Guidelines of this project.
[x] I have checked the current issues for duplicate problems.
[x] I have read the readme of this repository.

@RJ025 have you checked
i guess it's already there

thank you for assigning me this issue will start working on it


Incompatibility with bootstrap css 'row'

At https://github.com/b-gran/object-editor-react/blob/abc7a9f288443db397ba7c74c05adb034daf60ca/src/Editor.js#L569
an elementrow's table -> tbody -> tr gets className 'row row--object'.
'row' is used in bootstrap and breaks table alignment.
I propose we either use less classnames or use more unique classnames. Additionally the out-of-box styles play very poorly with bootstrap.

Unique classnames is a better choice, since compared to descendant and children selectors class selectors are way faster.
Plus, you don't need to know the exact structure of the markup to use class selectors, you just need the name of the class you want to style.

Renamed .row -> .editor__row


Pull requesting for Pash

I make some changes for distro-dep.sh for Ubuntu installation. I also write some comments for my part of the code. Please check. @nvasilakis

Making some changes for the pull requests.

@qishenli is this PR completed? And what is it supposed to do? If it is stale, we can just close it.


Should we add Self types?

The Scott encoding is an important tool that is ultimately necessary for many efficient algorithms on the untyped lambda calculus. It is impossible to encode Scott encoded values on Morte. Things such as zipWith and min are quadratic. Self Types enable the Scott Encoding, and linear zipWith/min/similar functions without compromising strongly normalization or soundness. The extension is so simple it could be added in Morte as it is as a few lines of code.
I could submit a pull request if Gabriel wishes. Should Self types be added?

So I would prefer not to make changes to morte's core calculus if at all possible, even for performance reasons.  It's really important to me to keep morte's implementation and semantics as simple as possible so that morte can be easily ported to multiple platforms.
I think a better approach to this would be to define a separate language and compiler that can support self types for better optimization before desugaring to morte.
Also, as I mentioned on reddit, usually if you want zipWith or min I'd recommend the coinductive encoding of Nat/List before modifying the core language.

Gabriel, could you point to an example of streams being used for the purpose you mention? I always understood streams as generators, i.e., functions that generate an infinite list by repetitive applications of it to a seed value. But I'm not aware of using streams to encode finite lists. How exactly would you do it, and take its tail in O(1)?

I'll use Haskell code to illustrate the concept first and then convert it to morte code.
data CoList a = forall s . MkCoList s (s -> Maybe (a, s))

-- This `tail` is O(1)
tail :: CoList a -> Maybe (CoList a)
tail (MkCoList seed step) = do
    (_, seed') <- step seed
    return (MkCoList seed' step)

The encoding of the CoList type in morte (assuming you already have an encoding for Maybe) is:
    \(a : *)
->  forall (CoList : *)
->  forall (MkCoList : forall (s : *) ->  s -> (a -> Maybe (a, s)) -> CoList)
->  CoList

Regarding min, you can convert the inductive encoding of Nats to a coinductive encoding but that conversion process is O(N^2) so it would be as inefficient as performing min directly on the inductive encoding.  Also, there's no way to perform the reverse transformation (coinductive to inductive), because the coinductive encoding permits encoding infinity, while the inductive encoding does not.
I do eventually want to make a more efficient language that interops with morte and annah might end up being that language, where I do optimizations directly in annah independent of morte or it might be another language.  However, the most important problem that morte is trying to solve is to essentially be the first "JSON for code" so it has to be as simple and easy to reimplement in other languages as possible so that it can be used as a portable code interchange format.

Ah, I see. The only point I don't get of all that is how can you be able to optimize a "min" on the source language. When you compile it to morte, it will be morte, so you'll have to convert whatever format you use on the source language to the church encoding, which will be O(n^2) for min. I can't visualize how you're able to optimize min away from the source lang if you have to store it on morte anyway, which can't handle it.

This hypothetical other language would interop with morte purely for backwards compatibility.  It would ideally support all the operations of morte independently, so you would only pay the O(n^2) cost when interacting with old morte code.

Ah, I see, but you mean that hypothetical language won't be a JSON for code like Morte is, just another language? I'm just wondering, why not have a JSON for code like Morte, but that can actually store all Haskell programs without performance penalties? I'll try to add self types to morte. Possibly above my skill ceiling, but it is worth a shot...

Actually, it would also be a JSON for code, just like morte.  I'm using morte to flush out all the issues associated with distributing code securely and then once I understand those better I'll use the experience I gained with morte to inform "version 2" of the architecture.

Okay so let me see if I understand what you are saying, you're planning on making a 2.0 version of morte eventually, which will be very similar, but also able to encode O(n) min? How'll such language do so?

I don't know yet.  All I know is what you've already told me about self types, so I'd study that more closely and try to implement it since it seems like it would be a decent solution to this problem.

Ah I see, makes sense :)

Could you detect the n^2 case when desugaring from Morte to something else?

I'm not sure, but there are lots of issues with forbidding zip anyway. For example, map h (zip (map f x) (map g y)) fuses to a single routing pass through both lists... which for me is one of the coolest things of normalizing terms like Morte do, but CC just can't have it.

So ideally you would compute at compile time the min function in the more efficient language so that you don't need to do the n^2 computation in morte.  Really the only way this would strike is if you relied on morte to do the computation, which you don't have to do.  There's nothing that even requires you to normalize morte expressions if you don't want to since you can pass them straight on through to the backend.

I have a feeling that you minimize the issue, though... you can't just reduce everything at compile time. Suppose you write a game in a functional language. That game has a feature of finding the least expensive in a list of items of a NPC. You can't just do it at compile time. If you store and transport that game's source as a Morte expression, that would mean that feature on your game is necessarily downgraded to quadratic.

You only pay the price if you normalize the expression while it is still a morte expression.  If you translate back to a more efficient language and do the normalization there then you don't pay the quadratic price.

How not, Gabriel? Converting back to the efficient language won't change your algorithm to the linear corouting zipWith... you can't store the linear zipWith on Morte so you have to use the slower version to begin with if you want to store on Morte...

You can change the algorithm if you specifically detect the more inefficient min or zipWith and resugar them to more efficient versions.
However, the goal is that you would eventually never convert to morte except to interface with older code for legacy reasons.

One way to do it is to pass in both the type and min as arguments. You could have a Morte prelude, that has both a morte version and a C version. The morte version is for educationally versions, but the C is what is actually used.

I really feel through my extensive exploration of λ-calculus that there is a whole class of very important terms that can't be expressed without Scott-encoded values. Or, let me rephrase it: the only reliable technique for implementing a wide class of recursive algorithms relies on passing Scott-encoded values of a data structure through continuations of a church-encoded structure. Specifically, there is only one efficient and elegant way to implement any function that somehow "compare" 2 structures (such as (==), zipWith, and so on), and that uses Scott. It is everywhere. I can show tons of examples. Without Scott, you can't really use the lambda calculus to its full potential. I think you underestimate how much expressive power you lose without it, and I really doubt you'd be able to detect those things and magically optimize them away when compiling to the target language. And doing that even defeats the purpose of Morte, which is doing the optimizations itself. Without zip fusion happening on Morte-level, for example, you're already cutting a ton of optimization opportunities anyway.  I hope eventually you'll notice that too and reconsider the addition of self.

If it's only 5 lines of code, perhaps you could submit a PR and move the discussion there? For me it's not exactly clear what changes are proposed and how they will affect soundness and complexity of Morte.

I don't have the time/knowledge right now to do it myself, but I guessed it would be simple because the paper states so, as in, it adds just a single constructor to CoC's ADT afaik. If I'm underestimating the complexity let me know!

@MaiaVictor If I understated correctly, Morte's foreign function interface is strong enough that you could implement Scott types in a foreign library and then import them into morte with the modifications to morte what so ever. Basically you have the program take an argument of the form Scott : (Type -> Type) -> Type and an isomorphism from f (Scott f) to Scott f.

@ChristopherKing42 I don't visualize how that would work. Can we try with a concrete example?
-- ∀ a . a -> ChurchNat -> ChurchList a -> a
get_at index default list = (list cons nil scott_nat)

    -- a -> ScottList a -> ChurchNat -> a
    cons head tail nat = (nat Succ? Zero?)
        Succ? pred = (tail pred)
        Zero?      = head

    -- ChurchNat -> a
    nil nat = default

    -- ScottNat
    scott_nat = (index Succ Zero)
        Succ pred = (Succ Zero -> (Succ pred))
        Zero      = (Succ Zero -> Zero)

This function takes an church-encoded nat (index), a default value, and a church-encoded list, and returns the element at that index, or default if the index is out of bound. Since this function involves the inspection of two recursive datatypes (list and nat), I needed to convert one of them (the nat) to scott in order to avoid O(N^2) complexity.
Could you show me how would work on Morte?
-- ∀ a b . (a -> b) -> ChurchList a -> ChurchList b
map fn list = (cons nil -> (list cons? nil?))
    cons? head tail = (cons (fn head) tail)
    nil?            = nil

-- ∀ a . a -> ChurchNat -> ChurchList a -> a
get_at index default list = (head (index tail scott_list))

    ---- :: ScottList a -> a
    head list = (list Cons? Nil?)
        Cons? head tail = head
        Nil?            = default

    ---- :: ScottList a -> ScottList a
    tail list = (list Cons? Nil?)
        Cons? head tail = tail
        Nil?            = (Cons Nil -> (Cons default Nil))

    -- :: ScottList a
    scott_list = (list Cons Nil)
        Cons head tail = (Cons Nil -> (Cons head tail))
        Nil            = (Cons Nil -> Nil)

There are two functions here. map, which is what you're used to, and works on Church-encoded data. There is get_at, which takes an index, a default value, a list (Church-encoded), and returns the element at position index, or default if index is out of range.
What is interesting about the get_at function? It involves some kind of recursive run through two structures: a list and a natural number. Remember you can't use recursion - we are using folds for where we would use recursion on Haskell. In that case, you need to chose one of the two structures - the list or the nat - to fuel the recursion with its fold. But when you make that choice, you already got the recursion going on. If you chose the list, you can't access the inner structure of the nat without kicking its recursion, because that's how church works. If you chose the nat, you can't access the elements of the list. If you do, you kick its recursion and then you get quadratic time.
So, what is the solution? Simple: you scott-encode one of the structures and pass it to the church-encoded one. That is how get_at works: it scott encodes the list and sends it to the nat. And, by doing so, you don't gain just

@ChristopherKing42 I don't visualize how that would work. Can we try with a concrete example?
-- ∀ a . a -> ChurchNat -> ChurchList a -> a
get_at index default list = (list cons nil scott_nat)

    -- a -> ScottList a -> ChurchNat -> a
    cons head tail nat = (nat Succ? Zero?)
        Succ? pred = (tail pred)
        Zero?      = head

    -- ChurchNat -> a
    nil nat = default

    -- ScottNat
    scott_nat = (index Succ Zero)
        Succ pred = (Succ Zero -> (Succ pred))
        Zero      = (Succ Zero -> Zero)

This function takes an church-encoded nat (index), a default value, and a church-encoded list, and returns the element at that index, or default if the index is out of bound. Since this function involves the inspection of two recursive datatypes (list and nat), I needed to convert one of them (the nat) to scott in order to avoid O(N^2) complexity.
Could you show me how would work on Morte?

I don't know much Morte, but I think I can give a basic outline. This shows how to make a Natural number with O(1) predecessor.
(   \(Scott : (* -> *) -> *)
-> \(unwrap : forall (f : * -> *) -> Scott f -> f (Scott f)
-> \(wrap : forall (f : * -> *) -> f (Scott f) -> Scott f)
- > (   \(NatF : * -> *)
    ->  \(Succ : forall (a : *) -> a -> NatF a)
    ->  \(Zero : forall (a : *) -> NatF a)
    ->  \(foldNatF : forall (a : *) -> forall (r : *) -> (NatF a -> r) -> r -> NatF a )
    ->  result -- `Scott NatF` know has efficient successor and predecessor function
    )
    -- NatF a
    (   \(a : *)
    ->  forall (r : *)
    ->  (a -> r)  -- Succ
    ->  r            -- Zero
    ->  r
    )

     -- Succ
    (   \(a : *)
    ->  \(va  : a)
    ->  \(vas : forall (r : *) -> (a -> r) -> r -> r)
    ->  \(r: *)
    ->  \(Succ : a -> r)
    ->  \(Zero : r)
    ->  Succ va
    )

    -- Zero
    (   \(a : *)
    ->  \(vas : forall (r : *) -> (a -> r) -> r -> r)
    ->  \(r: *)
    ->  \(Succ : a -> r)
    ->  \(Zero : r)
    ->  Zero
    )

    -- foldNatF
    (   \(a : *)
    ->   \(vas : forall (r : *) -> (a -> r) -> r -> r)
    ->  vas
    )

)

(My goodness is Morte hard to write by hand.)
The interpreter has to supply Scott, wrap, and unwrap. If the interpreter is written in Haskell, this amounts to plugging in Fix.

And even harder for me to read. Suppose you took that and wrote: pred (Succ Zero), would that compile to Zero?

@MaiaVictor I don't think so (at least Morte wouldn't). We didn't even require wrap and unwrap to be inverses.

So, the compiler doesn't actually understand the structure of your scott encoded values... you're hiding it from it. It isn't able to optimize anything that depends on it. You'll end up with 25% of your code being foreign function calls. Don't look right.

@ChristopherKing42 Just to let you know, I have a front-end for morte named annah which simplifies writing morte code a little bit:
https://github.com/Gabriel439/Haskell-Annah-Library
It's undocumented at the moment, but the easiest way to show how it works is to just give an example of me trying to implement CoNat using annah.
First, I implemented something analogous to Haskell's Unit type by creating the following annah files:
$ cat<EMAIL_ADDRESS>type U
data Unit
in   U
$ cat U/Unit.annah
type U
data Unit
in   Unit

... and then compiling then using annah to generate the equivalent morte code (sans the .annah suffix):
$ annah <<EMAIL_ADDRESS>> U/@
$ annah < U/Unit.annah > U/Unit

I then created a Maybe folder, too:
$ cat<EMAIL_ADDRESS>    \(a : *)
->  type Maybe
    data Just a
    data Nothing
    in   Maybe
$ cat Maybe/Just.annah
    \(a : *)
->  type Maybe
    data Just a
    data Nothing
    in   Just
$ cat Maybe/Nothing.annah
    \(a : *)
->  type Maybe
    data Just a
    data Nothing
    in   Nothing

... and then a NatF type:
$ cat<EMAIL_ADDRESS>    \(a : *)
->  type NatF
    data Succ a
    data Zero
    in   NatF
$ cat NatF/Succ.annah
    \(a : *)
->  type NatF
    data Succ a
    data Zero
    in   Succ
$ cat NatF/Zero.annah
    \(a : *)
->  type NatF
    data Succ a
    data Zero
    in   Zero

... and then I compiled all of those to morte.  Once I had those I just defined the remaining code for CoNat in a single file:
$ cat test.annah
type CoNat
data Make (s : *) (seed : s) (step : s -> #NatF s)
fold foldCoNat
in

let Succ (n : CoNat) : CoNat =
    foldCoNat
    n
    CoNat
    (\(s : *) -> \(seed : s) -> \(step : s -> #NatF s) ->
        Make
        (#Maybe s)
        (#Maybe/Nothing s)
        (\(x : #Maybe s) ->
            x
            (#NatF (#Maybe s))
            (\(y : s) ->
                step y
                (#NatF (#Maybe s))
                (\(z : s) -> #NatF/Succ (#Maybe s) (#Maybe/Just s z))
                (#NatF/Zero (#Maybe s) )
            )
            (#NatF/Succ (#Maybe s) (#Maybe/Just s seed))
        )
    )
let Zero : CoNat = Make #U #U/Unit (\(_ : #U ) -> #NatF/Zero #U )
let pred (n : CoNat) : #NatF CoNat =
    foldCoNat
    n
    (#NatF CoNat)
    (\(s : *) -> \(seed : s) -> \(step : s -> #NatF s) ->
        step seed
        (#NatF CoNat)
        (\(x : s) -> #NatF/Succ CoNat (Make s x step))
        (#NatF/Zero CoNat)
    )
in {{result}}

Then I could begin to answer @MaiaVictor 's question of whether or not the coinductive encoding automatically detects the correct equalities.  The answer I got is "sort of".
For example, it does correctly detect that pred Zero is identical to #NatF/Zero CoNat.  They both normalize to the exact same expression.
However, it does not correctly detect that pred (Succ Zero) is identical to #NatF/Succ CoNat Zero.  BUT it does correclty detect that it is #NatF/Succ CoNat {something equivalent to Zero}.  So the part where equivalence is lost is in the existentially quantified contents of the Make constructor.
So the answer is that morte does detect observational equivalence of coinductively defined data types, meaning that morte can't prove that two types are the same, but morte can prove that each layer that you "pop" out from the type is same.  Or in more formal terms morte can prove equivalence via bisimulation.

Still thinking a lot about this issue, the fact that the alternating zipWith implementation is the only way to get complete fusion on List functions so naturally quite makes it feel incomplete without Self :/ here is a zipWith implementation on the syntax I proposed, with x @ term for self:
u: *
f: -u -u u
a: (List u)
b: (List u)
List: *
cons: -u -List List
nil: List
(T:*
  (a (-T List) (h:u t:(-T List) k:T (k t h)) (k:T nil)
  (b T (x:u t:T k:(-T List) y:u (cons (f x y) (k t))) (k:(-T List) x:u nil)))
  r@(-(-r List) (-u List)))

I would like to note that church encoding does not play well with laziness. In contrary, Scott encoding does not hamper lazy evaluation in any way.

Fast forward almost an year and I still don't see a satisfactory solution :( I believe even adding Self doesn't solve the issue as the paper still needs positive recursion and other complex machinery.


Operate ALTER TABLE one at a time

https://github.com/alikrubin/mysql_copy_tablespaces/blob/c0210e413255ceb53689655622b90fa76e1355c3/mysql_copy_tablespaces.py#L109
Looks dangerous, recommend looping and catching results per table so user can be informed.

The command goes through fabric.Connection.run which will raise an error if any of the SQL fails.


Changed .to_str to .to_s.

I was having issues with the .to_str conversion. The .to_s is in every Ruby object vs .to_str is only available in objects that are more string like, i.e. Symbol, String. This way, it'll be more flexible.

I used to_str here for a reason - it simply makes on sense to implicitly convert any argument using to_s - say you accidentally pass an array for the path, in this case is much better to get an error than using bogus data as a file path.
However when thinking about this I found a clearer way to handle this, which I committed in 0d0bee4

Thanks!


fix: run as non-root user

First, thanks for your awesome work!
Some platform (like Openshift) do not allow to run as root, hence this pull request.
Have a good day!

During my tests everything seemed fine. Though I have to say I noticed that the "$DATA_DIR" is not really used anywhere, so I will remove it soon.

@galexrt well, we successfully deployed it to our Openshift cluster and did not encounter any problems for the last few days :+1:
Thanks for the merge!


add RemainAfterExit=yes for systemd to work correctly

Without RemainAfterExit=yes, systemd kills subprocesses (tmuxs) and exits with 0 SUCCESS


What is the goal of this package?

I'm not quite sure what are we trying to achieve here. What is the goal of this package? How does it differ from tflearn and similar frameworks? Are we writing something that is already done somewhere? If not, what is new here?
These questions should be clearly answered in the README, if we want anybody to use this.

I see this repo as ufal's codebase mainly for neural MT experiments and similar tasks. From my point of view, one of the main purposes of this repo is for us to be able to take a today's paper from arxiv, write a  new component that implements the things from the paper, replace existing components with the new one and run it.

@jindrahelcl Why don't we just use (and contribute to) tflearn or other existing framework? I understand that at the beginning of the MMMT experiment there was no way to see what a monstrous codebase it will become. But what is the reason to put huge amounts of work into maintaining it now? I'm not saying there is not any, I just want to clarify it and advertise it.

I think the codebase would be equally large using tflearn. The code isn't just architecture of neural networks but it includes also (say what you want) nice way of managing experiments, among other things. I don't see how for example mixer, copynet or byte-pair encoding preprocessor would fit into tflearn.
Speaking of tflearn, their metric functions are classes as well. ;-*

Here are the reasons why I believe it makes sense work on the package:
for us: It is an interesting experience and kind of challenge to create a well-maintainable software for conducting experiments which can be used by third parties. At least, I haven't done it before. Preparing a project for MT Marathon will be also very interesting.
for out department: It is useful to have an in-house solution for these kind of models, such that whoever want to anything in this direction can just knock the the door of the neighbouring office and get a face-to-face tutorial from someone who has written the package.
for the mankind: It provides a bit higher-level of abstraction that the one provided by tflearn. As @jindrahelcl said, the same package could have written over tflearn with approximately the same amount of code. The building blocks we use in out configuration are more coarse-grained than in tfLearn or in Lasagne and therefore hopefully more accessible for less experienced users..
If you agree, I would write the a paraphrase of the previous paragraph to the README file together with references to other tools, as "If you want to use TensorFlow, you may also consider using: ..." Is there something except tfLearn that we should reference?


Req 8: No pagination

All records shall be provided as a single request, no pagination shall be used
child of #997

Note that we opted for date range parameters and pagination because eHealth preferred to e able to fetch aritrary date ranges.

pagination is needed because the data is really big


Insert In DB On Error of AsyncTask

I am using AsyncTask to make an API call on schedule.
Regular API calls are working fine, and inserting an entry into the DB as "success" using Knex.
But, when user inputs an invalid URL, node-fetch throws an error, which is caught by the AsyncTask error handler.
At this point, I would like to log this error in the DB as well. But the knex.insert function being asyncronous, its failing to execute on the syncronous error handler function. This is what I have understood the issue is.
(err) => {
                console.log("HERE");

                knex('syncs_logs')
                    .insert({
                        id: item.id,
                        status_code: err,
                        error_datetime: dayjs.utc().format("YYYY-MM-DD HH:mm:ss"),
                        err_msg: JSON.stringify(err)
                    });
            }

Can you please help?

@iamsid Can you share complete example?
Shouldn't AsyncTask error handler work here? See example in the readme:
const task = new AsyncTask(
    'simple task',
    () => { return db.pollForSomeData().then((result) => { /* continue the promise chain */ }) },
    (err: Error) => { /* handle error here */ }
)

Oh, wait, I see what you mean, error handler itself is synchronous. Let me try to come up with something.

@iamsid PR is up, please review!


apt upgrade removes the example version info inside /etc/os-release

The isar/meta/classes/image-postproc-extension.bbclass appends BUILD_ID, VARIANT,  and ISAR_IMAGE_VERSION to /etc/os-release.
However an apt upgrade command removes these appendix values.
Unfortunately the firmware updating package depends on these values...:thinking:

/etc/os-release is owned by base-files. So, any update of that package will change what our image generation left behind - only fair, the image is no longer originally ours.
Same applies to the image-based firmware update scenario: any package-based modification on the image is naturally overwritten when the next image version is installed. Once we enable secure boot in combination with swupdate, it will even become impossible to overwrite packages because that will invalidate the integrity of the image, and we will mount the majority of the image read-only for that reason.
Still, we need some countermeasure for the current swupdate setup, that's true. @gylstorffq, any ideas?

...can be as simple as explaining the concept more clearly in the README: Image-based updates excluded packages-based one - don't use apt anymore.

@BaochengSu  @jan-kiszka  If I read this correctly this is for updating the firmware from  TI or U-boot with recipes-app/iot2050-firmware-update,   not the Image with SWUpdate. The implementation of SWUpdate doesn't relay on /etc/os-release. I think we should move these information in a seperate file under /etc/.

Ah, misunderstanding of mine.

How about adding a new variable for this to the u-boot environment ?
Those won't be reset by anything the user does in the OS itself (through apt or anything else) and will help you once the image is actually going read-only.

We have subtle dependencies between firmware version and kernel versions, at least for this current update case (hopefully, the future will all be bright, and this will never happen again). That motivated to also check if the update-triggering image version will still be able to boot after the update, thus is compatible. This is also important as many users do not have the debug port attached and will therefore not be able to read error messages from a boot of an incompatible image - to box will appear "bricked".
The current issue can still be resolved by a user via booting from a pristine image. We need to think about if we can improve this further without lowering the safety of the current checks significantly. Well, there is also the -f option of the update script, but that is asking for troubles if you don't know what you are doing.

@jan-kiszka, any comments on the /etc/another-file solution? If no problem we will continue on this way.

The key is not "another-file", it's "is this a known to boot image after the update". And that cannot be answered from that file but either from requiring an authentic image (more or less the current situation) or by actually checking what we need to check (kernel image, boot loader, who-knows-what-else).

Any update system that has to account for changes made by the user since the installation of the "known" image will be a massive pain in the lower back area...

I think the best option in this particular case is to simply prevent swupdate (unless --force flag is set) as soon as /etc/os-release is altered.
However, in that case :

Add an unavoidable warning to the user that this may prevent the device from booting
Instruct them on how to update the image properly (pristine image, ...)
Instruct them on how to recover from such an issue (serial cable) in case they actually attempt the update with the --force flag

I don't know what you think, but if a read-only image is in the works, you're probably better off not losing too much time around this issue.

@BaochengSu still relevent?

Don't know... Has anything changed since then?

We have a read-only image recipe with OTA update support by now. The official example image remains on-the-fly customizable  - with all its pros and cons.


Updating version to 1706

@jasonsandlin,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


[Rendering] VoiceOver doesn't read the placeholder in TextView

Target Platforms
iOS
SDK Version
1.5
Application Name
Microsoft Teams
Problem Description
1.Say "Hey Cortana" to enable Cortana
2.Say "send Message to someone(e.p. taoyuan)
3.Cortana will provide a TextView which placeholder is "Enter message", then using voiceover on the TextView
Bug:
VoiceOver only read "TextView. double tap to edit", the voice of placeholder on the textview is missing
Screenshots
No response
Card JSON
none

Sample Code Language
No response
Sample Code
No response

@ZTY2016 - is the application here Cortana or Teams?

Closing due to lack of response


support pattern-matching operators, better op parsing

fixes #251

That was quick.. Thank you!

Big thank you! awesome work


typos(app-proxy): SharePoint Server

SharePoint Server is a product, and its name was written incorrectly.

@sassdawe : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@sassdawe - thank you for the fix and taking the time to make the docs better. Very much appreciated!
#sign-off

Hi @kenwith - Per the Microsoft Writing Style Guide, we can't use a product name to refer to an instance ("a SharePoint Server"). Do you know whether the articles are referring to a computer running SharePoint Server or to a server that's running SharePoint? Either of those would be correct... Thanks!

@ktoliver - I see what you mean. It looks like in the article it could refer to either would be fine since the references in the article could be referring to the "SharePoint Server" product or one of the specific "servers" running SharePoint Server. I think I understand that if we update to "SharePoint Server" then we need to change the grammar also.
The change that definitely needs to be made though is the "Sharepoint" to "SharePoint".
@sassdawe - do you think it would be clearer to change to the product name? If so, we need to update the grammar too.. for example: "network and the SharePoint Server." would be "network and SharePoint Server."   Is this right @ktoliver?   This is a tricky one because server is in the name of the product.

I see what you mean @kenwith!
Now re-reading it all, there are other places which sound odd.
What does the style guide say about "SharePoint farm" and its interchangeability with "SharePoint Server"
In that case I think both would work: "reach your internal network and SharePoint." or "reach your internal network and your SharePoint farm."
And I guess next line is without "the" as well: "access SharePoint sites".
I'll update the page on my side before I submit/update this PR.

@sassdawe : Thanks for your contribution! The author(s) have been notified to review your proposed change.

 I did not expect this to happen :)

@ktoliver looks good to me, what do you think if it passes style guidelines?

@ktoliver Kristine Toliver (Aquent LLC) Vendor looks good to me, what do you think if it passes style guidelines?

Are my edits in articles/active-directory/app-proxy/application-proxy-integrate-with-sharepoint-server.md correct, or are you not actually talking about the SharePoint Server product? I personally don't have a problem with "a SharePoint server" to mean a server (machine) that contains the SharePoint host on-premises. But the style guide says not to use "a SharePoint Server" or "the SharePoint Servers" (for example). It is tricky. :)

We can also merge and then request an edit pass/review after the update is published. I hope I've helped and not muddled things here...

@ktoliver - let's merge with your edits and we can adjust further if needed down the road. I think these edits are valuable to get in though.


What are the different branches for?

When I opened a PR with documentation updates on the main Cucumber repo, I was instructed to rebase my changes on this repo's sw-reorg branch.
Well, I did.  And that’s cool.  Trouble is, I still have no idea what the sw- prefixed branches are for.  I don’t even know what “sw” means. :)
Can someone explain what the different branches are for?  And how they relate to master?

Hey @Zearin
That was before we merged the major changes into the main branch. sw is a prefix for my name, which is a common way of working with many branches.
From now on, all PRs should be made against master. If your new branch was against sw-reorg I can move it over for you.

Apologies for any confusion.

@Zearin Hope it's clear now. (You can always check the "Current status" in the readme, of ask on Slack if you're not sure). Closing this issue...


two typo fixes

Fix for this Issue thread

Thank you for your contribution.
I rebased the topic onto the master branch, and merged it into the next branch:
57842868089d0b30c29054cf9d6e775aaa2d198c


Final review for v1.1 release

cc @sudo-bmitch can we add this to 1.1 milestone?

This doesn't feel like a valid issue. There's no specific change to the spec, and reviewing a release is done with every release.


launchservicesd CPU usage on MacOS Sierra

I have been seeing this for at least few days but I just made the connection to vscode. Possibly since updating to 10.12.1. Would be great if someone else can try to repro.
I'll have several instances of Insiders open, not doing anything unusual, then notice that I'm using a ton of CPU of launchservicesd, Dock, and loginwindow.
Like this -

The flat part of this graph, I was not touching the computer. When it goes up, I opened one more vscode instance. Then I cmd+q the whole thing and it all goes away.

And those processes are not used so much anymore

The next plateau is opening some project in insiders, and a few empty workspaces

And closing that, then there is a small spike at the right - that's opening the same project and empty workspaces in stable Code, and it stays pretty flat after this.

This is with four empty workspaces open, closing them slowly one by one -

I can't find anything relevant about these processes. I can't repro with atom or atom beta, but they are using earlier electron versions.

And I don't notice any slowness, I only noticed because the macbook fan kept running loudly.

It's an extension...

It's the spotify extension...

Wow, thanks @roblourens. This extension was also killing my laptop, and it's not the most critical thing :)

Same here, thanks for finding this !


Issue 937 - fixed ASSERT and added new tests

Coverage decreased (-0.07%) to 72.4% when pulling 13880622d98a2a7701eca9c5b0376a3a8eda8cd9 on yitam:issue937 into 37581330aac1d270500e62ec9e63cd76852991af on Microsoft:dev.

Codecov Report

Merging #940 into dev will increase coverage by 0.07%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              dev     #940      +/-   ##
==========================================
+ Coverage   80.51%   80.58%   +0.07%
==========================================
  Files          25       25
  Lines        7753     7753
==========================================
+ Hits         6242     6248       +6
+ Misses       1511     1505       -6

Impacted Files
Coverage Δ

...x86/php-7.1.26-src/ext/sqlsrv/shared/core_stmt.cpp
86.24% <0%> (+0.57%)
:arrow_up:

Continue to review full report at Codecov.

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


.Net MVC Policy Authorization Redirect Loop

In idsvr 3, we were able to do the following, (per the idsvr 3 documenation), to avoid the infinite redirect loop on an authenticated but not authorized request. Is there a good way to do this in idsvr 4 with .Net Core MVC ?
public class AuthAttribute : AuthorizeAttribute
{
    protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
    {
        if (filterContext.HttpContext.User.Identity.IsAuthenticated)
        {
            // 403 we know who you are, but you haven't been granted access
            filterContext.Result = new HttpStatusCodeResult(System.Net.HttpStatusCode.Forbidden);
        }
        else
        {
            // 401 who are you? go login and then try again
            filterContext.Result = new HttpUnauthorizedResult();
        }
    }
}

UI style MVC?

What do you mean by UI style MVC?
To give a bit more detail, on my Controller, I have something like [HttpPost, Authorize("mypolicy")]. If Authorization fails, it is emitting the 401, even if the user is Authenticated and there is no override for HandleUnauthorizedRequest in the new .Net Core AuthorizationAttribute, like there was before.

What do you mean by UI style MVC?

As opposed to just an API.

Ah, yes

I had something similar in a project, but I can't repro it now. IIRC what I did was to set AutomaticChallenge on the OIDC MW to false. This fell thru to the cookie MW's 401 vs. 403 behavior.

Was able to get it working by letting it fall through like that. Thanks!


R markdown: Knit button and keyboard knit shortcut doesn't work

Describe the bug
I use the same rmd file as in #886 in this report. (The preview problem has been fixed.) When the setting "Knit: Use Background Process" is on, the knit button and keyboard shortcut (Ctrl + Shift + k) don't work. The output panel of R markdown showed nothing. But after turning off the "Knit: Use Background Process", the rmd file can be knitted correctly.
To Reproduce
Steps to reproduce the behavior:

turn on "Knit: Use Background Process"
Click on 'Knit'

Do you want to fix by self? (We hope your help!)
No, I don't know how vscode works.
// R.exe path for windows
"r.rterm.windows": "D:\Softwares\Anaconda3\Scripts\radian.exe",

// R path for Mac OS X
"r.rterm.mac": "",

// R path for Linux
"r.rterm.linux": "",

// R command line options (i.e: --vanilla)
"r.rterm.option": [--no-save --no-restore],

// An optional encoding to pass to R when executing the file, i.e. 'source(FILE, encoding=ENCODING)'
"r.source.encoding": "UTF-8",

// Keeping focus when running
"r.source.focus": "editor",

// Use active terminal for all commands, rather than creating a new R terminal
"r.alwaysUseActiveTerminal": false,

// Use bracketed paste mode
"r.bracketedPaste": false,

// Enable R session watcher
"r.sessionWatcher": true,

// Delay in milliseconds before sending each line to rterm (only applies if r.bracketedPaste is false)
"r.rtermSendDelay": 8,

Expected behavior
The rmd file can be knitted correctly when "Knit: Use Background Process" is on.
 I can fully reproduce this, but on a different setup.
Environment (please complete the following information):

OS: Manjaro Linux
VSCode Version: 1.62.3
R Version: 4.1.2
vscode-R version: v2.3.4

I cannot reproduce this problem.
Do you mean that when you turn on r.rmarkdown.knit.useBackgroundProcess, the "Knit" button still sends code to terminal rather than renders the document with a background process?

Not really. If turning on r.rmarkdown.knit.useBackgroundProcess, clicking the "Knit" button or using the keyboard shortcut doesn't do anything (Not sending code to terminal, nor print information on Output panel or knit the file).
If turning off  r.rmarkdown.knit.useBackgroundProcess, the "Knit" button and shortcuts work well (Sending codes to terminal and knit the file correctly).

Interesting, I can't replicate this on Manjaro Linux.
Could you please post any relevant logs when knitting (i.e. R Markdown output stream, developer console)? Developer console can be accessed via the default shortcut Ctrl + Shift + I

Could you please post any relevant logs when knitting (i.e. R Markdown output stream, developer console)? Developer console can be accessed via the default shortcut Ctrl + Shift + I

The output stream for R Markdown is completely empty, but I've attached the dev console log below:
vscode-app-1638644003826.log

Thank you for the log! It looks like the issue is with the knit command detection. Out of curiosity, are you opening a workspace to knit these files, or are you opening the file on its own?

Thank you for the log! It looks like the issue is with the knit command detection. Out of curiosity, are you opening a workspace to knit these files, or are you opening the file on its own?

Thanks, I think I understand the problem. This issue only occurs when I open the file on its own. When I have set a workspace, the knit button and shortcut worked well.

Thank you for the log! It looks like the issue is with the knit command detection. Out of curiosity, are you opening a workspace to knit these files, or are you opening the file on its own?

Before reporting the bug, I'd only ever tried to knit after opening an R markdown file. I've tried to load a workspace induced by the file I'm working on, but that seems to do nothing either unlike for @LeiGuo0812. The workspace is correctly loaded by vscode-R and all objects are loaded, but CTRL+Shift+K and the graphical shortcut seem to be unresponsive.

Before reporting the bug, I'd only ever tried to knit after opening an R markdown file. I've tried to load a workspace induced by the file I'm working on, but that seems to do nothing either unlike for @LeiGuo0812. The workspace is correctly saved and loaded by vscode-R and all objects are present, but CTRL+Shift+K to knit and the graphical shortcut seem to be unresponsive.

I believe that it's just a misunderstanding. The workspace Elian is talking about is the working path set by the explorer in the sidebar, not the .rdata file. After setting the directory in explorer, the button should work.

@ElianHugh Looks like we should check the usage of workspace folder in the rmarkdown part of code.

Before reporting the bug, I'd only ever tried to knit after opening an R markdown file. I've tried to load a workspace induced by the file I'm working on, but that seems to do nothing either unlike for @LeiGuo0812. The workspace is correctly saved and loaded by vscode-R and all objects are present, but CTRL+Shift+K to knit and the graphical shortcut seem to be unresponsive.

I believe that it's just a misunderstanding. The workspace Elian is talking about is the working path set by the explorer in the sidebar, not the .rdata file. After setting the directory in explorer, the button should work.

Ah, sorry for the misunderstanding, you're exactly correct. Setting a directory on the sidebar indeed does the trick!


Add assertion for realtime replication for blocks

Follow-up for https://github.com/basho/riak_repl/pull/678

repl_v3_rest, test, xref, dialyzer passed.


Response code is not equal 200. Help Please !

hi everyone . i using this script . in localhost xampp work fine . but after upload this script to centos server (make online) when i want use the script i get this error . help me please .
Fatal error: Uncaught InstagramScraper\Exception\InstagramException: Response code is not equal 200. Something went wrong. Please report issue. in /opt/lampp/htdocs/zhav/src/InstagramScraper/Instagram.php:198 Stack trace: #0 /opt/lampp/htdocs/zhav/ajax.php(296): InstagramScraper\Instagram->searchAccountsByUsername('mdi') #1 {main} thrown in /opt/lampp/htdocs/zhav/src/InstagramScraper/Instagram.php on line 198

i am with the same problem, repentnently, suddenly this started to happen :(

@tenet912 @ivesbrito Have your problem solved?

@tenet912 @ivesbrito Have your problem solved?

yes . use login before doing something else

i solved this problem scraping with an greater interval, 1 hour...
i was scraping using the interval of 5 minutes..


Circle CI fails randomly

https://circleci.com/gh/scikit-optimize/scikit-optimize sometimes CircleCI goes red and sometimes not. Something to investigate.

https://circleci.com/gh/scikit-optimize/scikit-optimize/824 fails with AttributeError: 'GaussianProcessRegressor' object has no attribute 'fant_predict'
https://circleci.com/gh/scikit-optimize/scikit-optimize/827 fails with
from skopt.learning import ExtraTreesRegressor
from skopt import Optimizer

noise_level = 0.1

# Our 1D toy problem, this is the function we are trying to
# minimize
def objective(x, noise_level=noise_level):
    return np.sin(5 * x[0]) * (1 - np.tanh(x[0] ** 2)) + np.random.randn() * noise_level
------------------

SyntaxError: invalid syntax (gp.py, line 15)

and https://circleci.com/gh/scikit-optimize/scikit-optimize/826 with LinAlgError: ("The kernel, 1**2 * RBF(length_scale=1), is not returning a positive definite matrix. Try gradually increasing the 'alpha' parameter of your GaussianProcessRegressor estimator.", '35-th leading minor not positive definite')

https://circleci.com/gh/scikit-optimize/scikit-optimize/830 fails with LinAlgError: ("The kernel, 1**2 * RBF(length_scale=1), is not returning a positive definite matrix. Try gradually increasing the 'alpha' parameter of your GaussianProcessRegressor estimator.", '36-th leading minor not positive definite') as well.

Started looking into this.

Posted on the wrong issue, not working on this.

This is related to this: #324

#544 might be a fix for this.


Tooltipster not loading the contents for the first time

i'm using Tool tipster in angular page , and update the contents of tool tipster in http post.
Its not working for the first time . on the second time it shows the contents /result of the first one.
Plunker

Hi, this seems like an implementation issue. I guess you are trying to initialize the tooltip at mouseover ? If so, please check the closed issues.

Ok Thank you . I'll check in the closed issues.


Deduplicate events across calendars.

I've often got events on multiple calendars. I use the Chrome Merge Event plugin in the browser ( https://chrome.google.com/webstore/detail/event-merge-for-google-ca/idehaflielbgpaokehlhidbjlehlfcep). It would be great to have a similar functionality on the cli.

Closing until there is a better solution.


any sample code of eye blink detection

any sample code of eye blink detection
make sure it is a human

reference python
https://github.com/Practical-CV/EYE-BLINK-DETECTION-WITH-OPENCV-AND-DLIB

//transfer from https://pyimagesearch.com/2017/04/24/eye-blink-detection-opencv-python-dlib/
static double eye_aspect_ratio(full_object_detection shape)
{
double distA_r  = length(shape.part(37) - shape.part(41));
double distB_r  = length(shape.part(38) - shape.part(40));
double distC_r  = length(shape.part(36) - shape.part(39));
double distA_l  = length(shape.part(43) - shape.part(47));
double distB_l  = length(shape.part(44) - shape.part(46));
double distC_l  = length(shape.part(42) - shape.part(45));
double ear_r    = (distA_r + distB_r) / (2.0 * distC_r);
double ear_l    = (distA_l + distB_l) / (2.0 * distC_l);
double ear_avg  = (ear_r + ear_l) / 2.0;

return ear_avg;

}


Fix for error that is produced when you delete banners, while the frontend still wants to show them

Closing this one because there is a new version.


Code coverage report not picking up all files

ENVIRONMENT
XCode 6.4
Mavericks 10.10.4
$ xcpretty --version
0.1.10
$ lcov --version
lcov: LCOV version 1.11
STEPS
Ran the tests as follows
xcodebuild test -workspace HacAnalytics.xcworkspace/ -scheme 'HacWrapper' -configuration Debug -destination 'platform=iOS Simulator,name=iPhone 6,OS=8.4' | xcpretty -c
Ran coverage report as follows
-required-coverage 93```

Report generated
![image](https://cloud.githubusercontent.com/assets/1184211/8851625/b713519e-311e-11e5-9c4e-f7219a4f2c46.png)

But report is missing the main class (HacAnalytics.h and HacAnalytics.m) which is in the source folder

$ ls -la HacWrapper/HacWrapper
total 96
drwxr-xr-x  10 kellyfj  wheel   340 Jul 23 09:27 .
drwxr-xr-x   8 kellyfj  wheel   272 Jul 22 08:57 ..
-rw-r--r--   1 kellyfj  wheel  5299 Jul 23 09:26 HacAnalytics.h
-rw-r--r--@  1 kellyfj  wheel  8387 Jul 23 09:27 HacAnalytics.m
-rw-r--r--@  1 kellyfj  wheel   200 Jul  9 12:04 HacSettings.h
-rw-r--r--@  1 kellyfj  wheel   201 Jul  9 12:04 HacSettings.m
-rw-r--r--@  1 kellyfj  wheel   219 Jul  1 09:53 HereSessionId.h
-rw-r--r--@  1 kellyfj  wheel  4176 Jul  1 10:39 HereSessionId.m
-rw-r--r--@  1 kellyfj  wheel   909 Jun 30 14:32 NpsObject.h
-rw-r--r--@  1 kellyfj  wheel  2422 Jun 30 14:33 NpsObject.m

and XCode seems to have the files in the right target group

![image](https://cloud.githubusercontent.com/assets/1184211/8851654/ec85c988-311e-11e5-848d-f16c411ad5f1.png)

I tried moving the two files involved into the HacWrapper folder (in XCode) but it didn't make a difference

Hello @kellyfj !
Can you try running again with --debug option?
Also, pls try cleaning your ~/Library/Developer/Xcode/DerivedData (or the equivalent AppCode) directory.

Cleaning the build folder was the trick!
Thanks!
-Frank

@kellyfj :tada:  :balloon:  This is often the problem, but we thought it would be rude to do that step on behalf of users. I should add it to website/docs though.


Fabric support

This pull request resolves https://github.com/react-native-progress-view/progress-view/issues/91
Description
Support for Fabric in iOS and Android.
JS changes

Add codegenConfig in package.json
Move requireNativeComponent to separate file and migrate to codegenNativeComponent
Split the type into 3 files RNCProgressViewNativeComponentAndroid (for Android), RNCProgressViewNativeComponent (for iOS, macOS), RNCProgressViewNativeComponentWindows (for Windows) since the types is slightly difference.

Cpp changes

Add new common/cpp
Only use by iOS

Why?

iOS supports setting an image as a background of progress. It's a bit tricky to add, but I follow the solution from https://github.com/reactwg/react-native-new-architecture/discussions/31#discussioncomment-3072215 which requires implementing image loading in c++ layer. Another solution is https://github.com/reactwg/react-native-new-architecture/discussions/31#discussioncomment-2717047 which looks cleaner and won't impact Android but it have to import RCTBridge+Private.h so I choose to implement c++ instead, can let me know which one you prefer.
iOS changes

Update podspec
iOS Implementation for fabric support
Support auto link

Android Changes

Update gradle files
Android Implementation for fabric support
Maintain backward compatibility using RNCProgressViewManagerImpl
Support auto link

Breaking change:
It should support both old architecture and new architecture. But requires bumping minimum RN version and minimum iOS version

Fabric -> RN version >= 0.70
Old architecture -> RN version >= 0.65 and minimal iOS version to 11.0

Affected platforms

[x] Android
[x] iOS
[ ] Windows
[ ] MacOS

Test plan/screenshots/videos
I created fabric-example/ for testing out fabric using RN 0.70 (+ react-native-test-app).
Paper

iOS
Android

Fabric

iOS
Android

@nutstick Is there anything specific to do in order to compile successfully?
I can't get XCode to compile progress-view with new arch enabled, it seems it doesn't find the codegen files.

(issue https://github.com/react-native-progress-view/progress-view/issues/131)


Your dependencies are far behind.

Even if you have no code changes yourself, you should keep abreast of key components (like apache http client).

I'm getting the feeling this projects been abandoned :(

Hello, this should be resolved or addressed in Unirest 2. Please see the upgrade guide for important changes.


Include build from source directions in README

Include build from source directions in README, simply pointing to CONTRIBUTING.md. Developers ask somewhat often about errors caused by not running git lfs pull when they are building from source. It is my hope that this extra section will avoid running into those issues.

@nategraf Let's fix typo in the commit message of 45cd438. referr -> refer


Feat: "Navigation guide"

Well, I don't know about the design decisions chosen for this theme (which are incredible) but I believe it would be cool if when opening a post, we would have a kind of navigation tab, something like this:

basically implementing the topics created on the page in this new "menu".

I think something like this might suit your needs:

In case you're still interested in adding this, all you have to do is use pnpm add remark-toc and add it to your Astro config file, and you're done! Each time you want a table of contents, just create a heading called ## Contents and it will automatically generate it for you.
I just added this new line and modified the remarkPlugins line in my astro.config.mjs file:
import remarkToc from "remark-toc"
remarkPlugins: [remarkMath, remarkReadingTime, remarkDirective, parseDirectiveNode, [remarkToc, { maxDepth: 2 }]],
I gave it a maxDepth of 2 because I only wanted to display H2 headings. By default it goes all the way to 6, and I found displaying even just H3s and H4s to be a bit too much. But if you want to see it in action, here it is on my blog.

Post with dynamic anchor support will be a great help
demo

Added in the latest commits.


Text to Conditioning not working with SDXL

When replacing a standard CLIP Text Encode with a Text to Conditioning node, I get the error below.
The exact same workflow has no problems if I just replace the SDXL model with a SD1.5 model.
It seems there is something going on under the hood that causes this error when using SDXL.
Error occurred when executing KSampler:
'pooled_output'
File "E:\ComfyUI\execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "E:\ComfyUI\execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "E:\ComfyUI\execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "E:\ComfyUI\nodes.py", line 1206, in sample
return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise)
File "E:\ComfyUI\nodes.py", line 1176, in common_ksampler
samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image,
File "E:\ComfyUI\comfy\sample.py", line 95, in sample
samples = sampler.sample(noise, positive_copy, negative_copy, cfg=cfg, latent_image=latent_image, start_step=start_step, last_step=last_step, force_full_denoise=force_full_denoise, denoise_mask=noise_mask, sigmas=sigmas, callback=callback, disable_pbar=disable_pbar, seed=seed)
File "E:\ComfyUI\comfy\samplers.py", line 643, in sample
positive = encode_adm(self.model, positive, noise.shape[0], noise.shape[3], noise.shape[2], self.device, "positive")
File "E:\ComfyUI\comfy\samplers.py", line 529, in encode_adm
adm_out = model.encode_adm(device=device, **params)
File "E:\ComfyUI\comfy\model_base.py", line 191, in encode_adm
clip_pooled = sdxl_pooled(kwargs, self.noise_augmentor)
File "E:\ComfyUI\comfy\model_base.py", line 155, in sdxl_pooled
return args["pooled_output"]

Yeah it isn't outoutting the pooled outouts. Needs to be updated. Felt pooled outputs could have been optional part of the main dict.

I am planning on showing a workflow to colleague in 2 weeks where I need that functionality. I can use it with sd1.5 for demo purposes, but it would be amazing to update that to SDXL. (I have tested the workflow by emulating the node manually, and it works much better with SDXL).
Is it feasible to fix that bug within the next two weeks?
I really appreciate the work you are doing, thanks.

It should be fixed as of couple days ago.

Thanks for your quick response. I updated Comfy and WAS-Suite and I now get a different error.
I get error 1 when I connect it to a KSampler, error 2 when I connect it to the input of a control net. I don't know if those are different issues or symptoms of the same problem, so I am posting both.
Both errors occur not only with SDXL but with SD1.5 aswell, I don't know if that helps to zero in on the problem or when replicating the issue.
Error 1
Error occurred when executing KSampler:
Tensor.contains only supports Tensor or scalar, but you passed in a .
File "E:\ComfyUI\execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "E:\ComfyUI\execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "E:\ComfyUI\execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "E:\ComfyUI\nodes.py", line 1211, in sample
return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise)
File "E:\ComfyUI\nodes.py", line 1181, in common_ksampler
samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image,
File "E:\ComfyUI\comfy\sample.py", line 82, in sample
models, inference_memory = get_additional_models(positive, negative, model.model_dtype())
File "E:\comfy\sample.py", line 56, in get_additional_models
control_nets = set(get_models_from_cond(positive, "control") + get_models_from_cond(negative, "control"))
File "E:\ComfyUI\comfy\sample.py", line 50, in get_models_from_cond
if model_type in c[1]:
File "C:\Python310\lib\site-packages\torch_tensor.py", line 999, in contains
raise RuntimeError(

Error 2
Error occurred when executing ControlNetApply:
'Tensor' object has no attribute 'copy'
File "E:\ComfyUI\execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "E:\ComfyUI\execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "E:\ComfyUI\execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "E:\ComfyUI\nodes.py", line 617, in apply_controlnet
n = [t[0], t[1].copy()]

I have a minimal example that I will attach as json.
If you connect the standard prompt encode to the Ksampler as positive, it works just fine. Connecting the Text to Conditioning throws the error. There is something wrong with the interaction. Is this bug reproducible for you?
{   "last_node_id": 9,   "last_link_id": 14,   "nodes": [     {       "id": 3,       "type": "CLIPTextEncode",       "pos": [         936,         677       ],       "size": {         "0": 400,         "1": 200       },       "flags": {},       "order": 4,       "mode": 0,       "inputs": [         {           "name": "clip",           "type": "CLIP",           "link": 2         }       ],       "outputs": [         {           "name": "CONDITIONING",           "type": "CONDITIONING",           "links": [             5           ],           "shape": 3,           "slot_index": 0         }       ],       "properties": {         "Node name for S&R": "CLIPTextEncode"       },       "widgets_values": [         ""       ]     },     {       "id": 5,       "type": "EmptyLatentImage",       "pos": [         362,         469       ],       "size": {         "0": 315,         "1": 106       },       "flags": {},       "order": 0,       "mode": 0,       "outputs": [         {           "name": "LATENT",           "type": "LATENT",           "links": [             8           ],           "shape": 3,           "slot_index": 0         }       ],       "properties": {         "Node name for S&R": "EmptyLatentImage"       },       "widgets_values": [         1024,         1024,         1       ]     },     {       "id": 4,       "type": "KSampler",       "pos": [         1556,         354       ],       "size": {         "0": 315,         "1": 262       },       "flags": {},       "order": 6,       "mode": 0,       "inputs": [         {           "name": "model",           "type": "MODEL",           "link": 7         },         {           "name": "positive",           "type": "CONDITIONING",           "link": 14         },         {           "name": "negative",           "type": "CONDITIONING",           "link": 5         },         {           "name": "latent_image",           "type": "LATENT",           "link": 8         }       ],       "outputs": [         {           "name": "LATENT",           "type": "LATENT",           "links": [             9           ],           "shape": 3,           "slot_index": 0         }       ],       "properties": {         "Node name for S&R": "KSampler"       },       "widgets_values": [<PHONE_NUMBER>44789,         "randomize",         20,         8,         "euler",         "normal",         1       ]     },     {       "id": 7,       "type": "PreviewImage",       "pos": [         2282.0010047265614,<PHONE_NUMBER>4860824       ],       "size": [         210,         246       ],       "flags": {},       "order": 8,       "mode": 0,       "inputs": [         {           "name": "images",           "type": "IMAGE",           "link": 11         }       ],       "properties": {         "Node name for S&R": "PreviewImage"       }     },     {       "id": 6,       "type": "VAEDecode",       "pos": [         1985,         367       ],       "size": {         "0": 210,         "1": 46       },       "flags": {},       "order": 7,       "mode": 0,       "inputs": [         {           "name": "samples",           "type": "LATENT",           "link": 9         },         {           "name": "vae",           "type": "VAE",           "link": 10,           "slot_index": 1         }       ],       "outputs": [         {           "name": "IMAGE",           "type": "IMAGE",           "links": [             11           ],           "shape": 3,           "slot_index": 0         }       ],       "properties": {         "Node name for S&R": "VAEDecode"       }     },     {       "id": 1,       "type": "CheckpointLoaderSimple",       "pos": [<PHONE_NUMBER>265622,<PHONE_NUMBER>7417593       ],       "size": {         "0": 315,         "1": 98       },       "flags": {},       "order": 1,       "mode": 0,       "outputs": [         {           "name": "MODEL",           "type": "MODEL",           "links": [             7           ],           "shape": 3,           "slot_index": 0         },         {           "name": "CLIP",           "type": "CLIP",           "links": [             1,             2,             13           ],           "shape": 3,           "slot_index": 1         },         {           "name": "VAE",           "type": "VAE",           "links": [             10           ],           "shape": 3,           "slot_index": 2         }       ],       "properties": {         "Node name for S&R": "CheckpointLoaderSimple"       },       "widgets_values": [         "sd_xl_base_1.0.safetensors"       ]     },     {       "id": 9,       "type": "Text Multiline",       "pos": [         652,         30       ],       "size": {         "0": 400,         "1": 200       },       "flags": {},       "order": 2,       "mode": 0,       "outputs": [         {           "name": "STRING",           "type": "STRING",           "links": [             12           ],           "shape": 3,           "slot_index": 0         }       ],       "properties": {         "Node name for S&R": "Text Multiline"       },       "widgets_values": [         "A bear"       ]     },     {       "id": 8,       "type": "Text to Conditioning",       "pos": [         1118,         251       ],       "size": {         "0":<PHONE_NUMBER>4472656,         "1": 46       },       "flags": {},       "order": 5,       "mode": 0,       "inputs": [         {           "name": "clip",           "type": "CLIP",           "link": 13         },         {           "name": "text",           "type": "STRING",           "link": 12         }       ],       "outputs": [         {           "name": "CONDITIONING",           "type": "CONDITIONING",           "links": [             14           ],           "shape": 3,           "slot_index": 0         }       ],       "properties": {         "Node name for S&R": "Text to Conditioning"       }     },     {       "id": 2,       "type": "CLIPTextEncode",       "pos": [         917,         377       ],       "size": {         "0": 400,         "1": 200       },       "flags": {},       "order": 3,       "mode": 0,       "inputs": [         {           "name": "clip",           "type": "CLIP",           "link": 1         }       ],       "outputs": [         {           "name": "CONDITIONING",           "type": "CONDITIONING",           "links": [],           "shape": 3,           "slot_index": 0         }       ],       "properties": {         "Node name for S&R": "CLIPTextEncode"       },       "widgets_values": [         "A bear"       ]     }   ],   "links": [     [       1,       1,       1,       2,       0,       "CLIP"     ],     [       2,       1,       1,       3,       0,       "CLIP"     ],     [       5,       3,       0,       4,       2,       "CONDITIONING"     ],     [       7,       1,       0,       4,       0,       "MODEL"     ],     [       8,       5,       0,       4,       3,       "LATENT"     ],     [       9,       4,       0,       6,       0,       "LATENT"     ],     [       10,       1,       2,       6,       1,       "VAE"     ],     [       11,       6,       0,       7,       0,       "IMAGE"     ],     [       12,       9,       0,       8,       1,       "STRING"     ],     [       13,       1,       1,       8,       0,       "CLIP"     ],     [       14,       8,       0,       4,       1,       "CONDITIONING"     ]   ],   "groups": [],   "config": {},   "extra": {},   "version": 0.4 }

Lemmie try in in a bit here. Thanks for sharing the workflow

Alright should be patched this time.

Thanks a lot, it works perfectly now.


WebView2 sample app does not work

Hi,
I have followed all the instructions from Getting Started with WebView2 (developer preview) to create an app that is using Microsoft Edge (Chromium). However, it is not able to find the Edge browser. I also tried the sample app but with the same results. I have built the app both for 32- and 64-bit.
What I get from calling CreateWebView2EnvironmentWithDetails() is 0x80070002, which is ERROR_FILE_NOT_FOUND (The system cannot find the file specified.)
I have:

Edge Version 79.0.309.60 (Official build) beta (64-bit)
Windows 10.0.17134
Visual Studio 2019 16.4.2

Why isn't it able to find the Edge installation?

@mariusbancila I've copied the issue to: https://github.com/MicrosoftEdge/WebViewFeedback/issues/164.
I'll go ahead and close this issue. Thanks.


Mobile support?

Greatly appreciate the amazing work with this plugin.
Are there any plans to support it on mobile version of obsidian? Would be very handy to transcribe on the go.

I agree or although I suspect it would need to be very different from the Desktop Version.  I would also like it if I could access a home server running Ollama from my mobile. I am not sure but I dont think any of the AI related PlugIns work on mobile at the moment. Even a reduced functionaly version would be invaluable.

mobile support for systemsculpt is very important to me, the only thing is i want to really build out all the features for the desktop version first, which will then allow me to convert them into a fully working mobile version afterwards.
though, these comments from you two really make me want to release some sort of lite version for mobile before i complete the desktop version, simply for transcription and possibly some sort of generation on the mobile device itself. apart from all of the recorder features, what else would be valuable to include in a mobile / lite version?

I have never got around to using the recording transcription version on desktop but I would use it on a mobile version.
My most frequent way to use the plugin is to insert some text into a note and then add a sentence telling the AI what I want.  Also less often just typing in a prompt.  It would be great to have that on phone.
The other frequent use of obsidian on mobile is looking at my task list. (I use the Tasks plugin to list them in due order) Or adding a task and then using tasks plugin to set due date.
Of course on mobile there is no easy way to use local LLM (except when at home) but I am wondering if it might be possible to have ones own AI server at home accessable remotely.  As privacy concerns grow there might be demand for that - a longer term thing perhaps.
Great to hear your positive response thanks a lot.
DT
On 17 Jun 2024, 06:31, at 06:31, SystemSculpt @.***> wrote:

mobile support for systemsculpt is very important to me, the only thing
is i want to really build out all the features for the desktop version
first, which will then allow me to convert them into a fully working
mobile version afterwards.
though, these comments from you two really make me want to release some
sort of lite version for mobile before i complete the desktop version,
simply for transcription and possibly some sort of generation on the
mobile device itself. apart from all of the recorder features, what
else would be valuable to include in a mobile / lite version?
--
Reply to this email directly or view it on GitHub:
https://github.com/SystemSculpt/obsidian-systemsculpt-ai/issues/10#issuecomment-2172323259
You are receiving this because you commented.
Message ID:
@.***>

Hi grayerbeard!
I think most interesting feature for mobile would be a chat with a note. I always have some thoughts on the go and it would be very handy to be able to talk with it a bit. Second priority for me would be a transcriber as it's also very handy on the go.

Of course on mobile there is no easy way to use local LLM (except when at home) but I am wondering if it might be possible to have ones own AI server at home accessable remotely.

It can be done with Tailscale. With it, you can setup a secure virtual network between your devices and use their dns names to talk to each other no mater what their actual network is. I use it all the time to access Ollama instance on my home computer.

Thanks ref Tailscale, I remember there was something beginning with T.  Others are TeamViewer, Dataplicity, RealVNC, RDP, Chrome DeskTop, AnyDesk of which I believe only some are suitable for our purpose connecting a phone to a remote LLM server.
I hope what will be possible is a very private personal assistant I can take anywhere that knows about me because it has access to my "Second Brain".  A brain which, I dream, as I get older and forget more and more will help me remember.
This is the sort of thing that counters the anxiety of many that a super server cluster costing billions consuming gigawatts will become the super big brother to us all.
DT
Grayerbeard
On 17 Jun 2024, 14:39, at 14:39, Dmitry Sinev @.***> wrote:

Hi grayerbeard!
I think most interesting feature for mobile would be a chat with a
note. I always have some thoughts on the go and it would be very handy
to be able to talk with it a bit. Second priority for me would be a
transcriber as it's also very handy on the go.

Of course on mobile there is no easy way to use local LLM (except
when at home) but I am wondering if it might be possible to have ones
own AI server at home accessable remotely.

It can be done with Tailscale. With it, you can setup a secure virtual
network between your devices and use their dns names to talk to each
other no mater what their actual network is. I use it all the time to
access Ollama instance on my home computer.
--
Reply to this email directly or view it on GitHub:
https://github.com/SystemSculpt/obsidian-systemsculpt-ai/issues/10#issuecomment-2173423751
You are receiving this because you commented.
Message ID:
@.***>

A mobile version is absolutely essential. In the 21st century many people don't own a computer anymore but almost everybody own a mobile device. This is very true for Gen Z and even more true for poorer countries. My 17 yo son for instance. Myself, I primarily use Obsidian on my iPad. A second brain is much more useful if you can use it all the time and everywhere you go. Please revisit your decision. Mobile first is normal in the industry.

Thank you for the comments and thoughts on this matter, I see there is heavy interest in a mobile version and I will speed up the timeline regarding its production schedule. I'll keep things updated in here and the issue opened for the time being until I have a rough version working and ready for testing.

Hey, big Systemsculpt user here, it is core to my obsidian workflow nowadays. I would absolutely test and contribute to a mobile version. Voice transcript here being the main use case.


Errors list is not getting populated in any of the format.

Environment

Nuget Package:  JsonSchema.Net
Nuget Version: 4.0+
OS: Windows
.Net Target: .Net 6.0

Describe the bug
In case when the validation fails. The error list is not getting populated. Also, the HasError error is not showing as true. This behavior started after upgrading to 4.0.0. Although IsValid is showing the correct status.
To Reproduce
Compare any invalid data against a valid schema.
Expected behavior
It should mark the HasError  as true and also it should populate the Errors  list with the validation errors in the case the validation fails.
Additional context
None

Can you provide an example of what you're running, and the output you expect, please?

Schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": { "isWinterLivestockType": { "type": "boolean" } }
}

Invalid Data
{ "isWinterLivestockType": 1 }
In Playground it is showing the errors.
{
  "valid": false,
  "details": [
    {
      "valid": false,
      "evaluationPath": "",
      "schemaLocation": "https://json-everything.net/ee1e060c85",
      "instanceLocation": ""
    },
    {
      "valid": false,
      "evaluationPath": "/properties/isWinterLivestockType",
      "schemaLocation": "https://json-everything.net/ee1e060c85#/properties/isWinterLivestockType",
      "instanceLocation": "/isWinterLivestockType",
      "errors": {
        "type": "Value is \"integer\" but should be \"boolean\""
      }
    }
  ]
}

But when you use package 4.0.+. It not showing the errors in the error list. Here even though isValid is coming has false but HasError flag still remains false. Same goes for the Errors. Below is the data I'm getting for my code.

| Name | Value | Type
-- | -- | -- | --
  | results.Errors | null | System.Collections.Generic.IReadOnlyDictionary<string, string>
  | results.IsValid | false | bool
  | results.HasErrors | false | bool

How are you calling .Evaluate() locally?  The default output mode is Flag.  If you want more complex output, you'll need to set that in the options when you call .Evaluate().

var schema = JsonSchema.FromText(request.Schema);
        var jsonDocument = JsonDocument.Parse(request.Data);
        var results = schema.Evaluate(
            jsonDocument.RootElement,
            new EvaluationOptions
            {
                RequireFormatValidation = true,
                EvaluateAs = SpecVersion.Draft202012,
                OutputFormat = OutputFormat.List,
            });

        if (results.IsValid)
        {
            Console.WriteLine("Valid");
        }
        else
        {
            if (results.HasErrors)
            {
                HandleErrors(results);
            }
        }

Thanks. I can dig into this tomorrow.  I don't immediately see what's going on.
FYI - the playground is actually running the version posted there, which is the latest.

Yep, I'm aware, actually, it broke from version 4.0.0. I tested this with the latest version i.e 4.0.6, and it is not showing the correct behavior.

Hi @gregsdennis, did you able to look into this?

I'm sorry, no.  I've been planning a conference trip today.  I'll look at it first thing tomorrow.

Okay.  I think I see the source of the confusion.  HasErrors only reports whether that node has errors, not the entire tree structure.  In your case, results.HasErrors is false because results doesn't actually have any errors.  There's a nested node that does have errors.
I can add a ContainsErrors (or something) that would report whether nested nodes contain errors if that would help.  (I'd probably add that as a method, actually.)
A couple more notes:

RequireFormatValidation is not needed here as you don't have any formats (maybe you do on other requests)
EvaluateAs is not needed here since the $schema is present.  $schema takes precedence, and the default behavior is Draft 2020-12 when the option is unspecified and the schema doesn't have $schema.

Till 3.x.x we use to have  NestedResults. That is used to provide the aggregated result. Is there some aggregated error list now?

Release notes for 3.x to 4.0: https://json-everything.net/json-schema#release-schema-4.0.0
Changes in JSON Schema output: https://json-schema.org/blog/posts/fixing-json-schema-output
Please read both of these as they are pertinent to the changes.

NestedResults has been changed to Details
Instead of a nested result for each error, the errors are now collected into an Errors property for each node.  There is no aggregation.