Changes to support sending a complete response object when 407 errors…

… is found while doing the CONNECT to proxy. Added a way to stablish a connection using connect over an already connected socket
Trying to connect to a "https" web page using a proxy uses a "HTTP CONNECT" verb to tell the proxy that we want to connect to a https destination.
With "basic authentication" the "CONNECT" is sent with the appropriate headers so the proxy can authenticate the request and do the request to the https web server. (That headers are setup by the requests library)
With "NTLM" we use a plugin (requests-ntlm) that is set as a hook and it is called on every request response. For example: with HTTP, the requests library sends a "GET" to a web page, as a response we get a HTTP-407 that is handled by the plugin hook to do the NTLM negotiation and authentication
In a HTTPS scenario, the first connection to the proxy is being done with the "CONNECT". At that time, requests does not set any authentication header (because it is handled by a plugin) and we get an 407 authentication Error.
This Patch tries to avoid raising an exception on "Proxy Authentication" errors and it sends back a complete http response so it can be handled by the requests-ntlm plugin and reuse an already connected and authenticated socket to do the connection

Firstly, thanks for this pull request!
So this is a great idea, but I have some concerns with the specifics of the implementation. In particular, I think I very much don't like changing connect to have a return value. connect in this context really has nothing to do with the CONNECT verb per se and everything to do with the underlying socket connection. This method is frequently called transparently by httplib, and httplib absolutely does not expect that we'll return a value out of the connect function.
This means that I'm extremely unsure about how best to handle this problem. It's not even entirely clear to me that it's a good idea to let the 407 bubble up in the standard way. Is it potentially more useful to throw a specific exception and let the requests_ntlm library (and anyone else who cares) catch it?

My approach was to return a full response object from urrlib3 so we can use it directly at requests and then interact with request_ntlm via hooks.
Catching the exception would involve to create a "mocked" response to be used by requests. Do you thing doing that is better?
Right now I dont have much time to do that but if we can discuss the better way to solve it maybe I can do it later!

Hey @angelcaido19 thanks for pointing out this deficiency to us. None of us deal with proxies on a regular basis, let alone proxies that require NTLM authentication. Your usage and experience is invaluable here.
I tend to agree with @Lukasa. The connect method now might return something and when it does, it's a response object. That seems like it will produce some very difficult to debug problems. I wonder if we could potentially handle this case via some exception handling. I think the standard library raises an exception (IOError? OSError? I forget which of these) when the status code is not 200 (from _tunnel). I wonder if it's kind enough to attach the status code to the exception as well.


Update Examples Jupter Notebook

Should show Model API as well as XML
Should use the wrapper function for the simple examples with results returned as Pandas dataframes.
Add advanced examples showing how to manually do a simulation.

I think all of these notebooks are available now.


[BUG] Rancher 2.6.7 UI - Banzai Cloud - Outputs - Output Buffer form inoperable

Rancher Server Setup

Rancher version: 2.6.7
Installation option (Docker install/Helm Chart): Helm chart

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc):  RKE1 v1.20.15

Proxy/Cert Details: Ingress default cert (Rancher frontended by F5 w/ SSL termination)

Information about the Cluster

Kubernetes version: v1.20.15
Cluster Type (Local/Downstream): Local

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider):

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom)

If custom, define the set of permissions:  Admin

Describe the bug

After installing Banzai Cloud using Cluster Tools, I am using the Rancher 2.6.7 UI to configure an Outputs object in our "ingress-nginx" namespace.  Upon loading the form to Create an Outputs object, I switch the "Output" in the Output tab from the default "Amazon Elasticsearch" to the intended value of "Fluentd".  I fill out my fluentd server & port, give it a name, and click Create in the lower right.
An error shows up top:
Output.logging.banzaicloud.io "prh-fluentd" is invalid: spec.forward.buffer: Invalid value: "string": spec.forward.buffer in body must be of type object: "string"
So I notice the "Output Buffer" tab, and I switch to that to fill it out.  This tab has a label "Output Buffer" followed by a text editor window with:
1 Error loading schema for logging.banzaicloud.io.v1beta1.output.spec.awsElasticsearch.buffer
To Reproduce

Expand "Logging" in the left pane and click Outputs
In the "Output" tab within this form, select "Fluentd" as the Output type
Fill out the fluentd server & port information
Provide a name for the Outputs object up top and select the intended Namespace where this Outputs object will live
Go to Output Buffer tab

Result
See the error "Error loading schema for logging.banzaicloud.io.v1beta1.output.spec.awsElasticsearch.buffer" and note how the Create button won't succeed when clicked.
Expected Result

A form in Output Buffer for configuring an output buffer of some sort, and a working Create button that successfully creates the Outputs object in the intended namespace.
Screenshots

I have 2 screenshots at the following URLs:
http://spirilis.net/stuff/r267-banzai-error-page1.png
http://spirilis.net/stuff/r267-banzai-error-page2.png
Additional context

Banzai Cloud Logging chart version: v100.1.3+up3.17.7 (installed via Rancher Cluster Tools)

I'm currently facing this issue with Rancher 2.9.0-alpha2 and on charts 104.0.0-rc1+up4.4.0 and 104.0.0+up3.17.10 (both are used based on downstream cluster version).


Orders.get_orders(AmazonOrderIds=[str]) is confusing

Hi, in the docs it's said that: AmazonOrderIds=['XXX-XXXXXX-XXXXXXX', 'XXX-XXXXXX-XXXXXXX', 'XXX-XXXXXX-XXXXXXX']
However response.payload has only the last Amazon Order ID's result.
This format works fine: AmazonOrderIds='XXX-XXXXXX-XXXXXXX,XXX-XXXXXX-XXXXXXX,XXX-XXXXXX-XXXXXXX'
I don't know if it's a bug in the code or a missing info in the docs.
Thanks

Thanks for reporting. Yes it is, this will change for all endpoints in one of the next releases.


Make it easy to create docker images with Nix

This can be used with
nix run .#stream-image | docker load

It reuses the regular static binary output so it won't rebuild VAST if the static binary is already available.
According to docker image ls the resulting image weighs 117 Mb,
significantly lighter than the Debian based image which is ~330 Mb.

This is not a drop-in replacement for the existing tenzir/vast image, right?

This is not a drop-in replacement for the existing tenzir/vast image, right?

With the config changes I just added there are only 2 remaining differences:

The container doesn't have any applications besides VAST, so no bash, coreutils, etc. This is not a problem because you should use nsenter for inspection / debugging anyways.
We use the static binary to build this container, so injecting additional plugins via bind-mount is not possible. (I don't think anybody does this yet).
When built remotely aka nix run github:tenzir/vast#stream-image Nix will use the archived version of the sources, meaning it will only have the fallback version number. We can add support for our versioning theme with nix run git+https://github.com/tenzir/vast#stream-image, but not the former.

if you want to drop the existing tenzir/vast image, I would recommend using the [nix2container](https://talks.nixcon.org/nixcon-2022/talk/AV3Q8C/) as an image builder instead.  smaller granularity -> example？

I tested nix2container for this PR locally, the size was not smaller, but the build time was faster though.

I don't think we want to drop the regular image, as that supports mounting in additional plugins. This one doesn't. I'm still all for calling this vast-slim.


Update documentation to indicate that a channel may send a single Conversation Update

Some channels like DirectLine may also send a single Conversation Update activity indicating that both the bot and the user have joined the conversation. This happens in cases when the user information is available at the conversation start. The DirectLine channel includes both ChannelAccounts (bot, user) in a single Conversation Update activity.
Could we request the following documentation page be updated with this note:
https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-basics?view=azure-bot-service-4.0
Parent issue: https://github.com/microsoft/botframework-sdk/issues/6359

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

ID: 4ccf81d0-a7a0-1e2a-5b35-8cfd723c1225
Version Independent ID: e3ebe0a1-a22f-1535-c649-3f79158b4ece
Content: How bots work - Bot Service
Content Source: articles/v4sdk/bot-builder-basics.md
Service: bot-service
GitHub Login: @johnataylor
Microsoft Alias: johtaylo

Fixed in PR. Change should be live within a week or so.


Removed requirments.

Removed the requirements from the build as its included in the onbuild part of the parent image.

LGTM. Thanks @lonix


LLM Evaluation: missing utils.py

snowflake.yml refers to utils/utils.py, but this file is not in the repository, rendering the app inoperable

Thanks for reporting @sfc-gh-vtimofeenko
Fixed in 7e05e2320fd1e40fb883375a6051cbc2a1791f91
Closing


Don't read past the EOI marker for JPEG images with non-default restart interval (issue 7828)

After browsing through (a version of) the JPEG specification, see https://www.w3.org/Graphics/JPEG/itu-t81.pdf, I hope that this patch makes sense.
Note that while issue #7828 became a problem after PR #7661, it isn't really a regression from that PR. The explanation is rather that we're now relying on core/jpg.js instead of the Native Image decoder in more situations than before, which thus exposed an existing issue in our JPEG decoder.
Another factor also seems to be that in many JPEG images, the DRI (Define Restart Interval) marker isn't present, in which case this bug won't manifest either.
According to https://www.w3.org/Graphics/JPEG/itu-t81.pdf#page=89 (at the bottom of the page):

"NOTE – The final restart interval may be smaller than the size specified by the DRI marker segment, as it includes only the number of MCUs remaining in the scan."

Furthermore, according to https://www.w3.org/Graphics/JPEG/itu-t81.pdf#page=39 (in the middle of the page):

"[...] If restart is enabled and the restart interval is defined to be Ri, each entropy-coded segment except the last one shall contain Ri MCUs. The last one shall contain whatever number of MCUs completes the scan."

Based on the above, it thus seem to me that we should simply ensure that we're not attempting to continue to parse Scan data once we've found all MCUs (Minimum Coded Unit) of the image.
Fixes #7828.

/botio-linux preview

/botio test

/botio makeref


Synthesis failed for java-vision

Hello! Autosynth couldn't regenerate java-vision. :broken_heart:
Please investigate and fix this issue within 5 business days.  While it remains broken,
this library cannot be updated with changes to the java-vision API, and the library grows
stale.
See https://github.com/googleapis/synthtool/blob/master/autosynth/TroubleShooting.md
for trouble shooting tips.
Here's the output from running synth.py:
2021-09-08 15:09:50,295 autosynth [INFO] > logs will be written to: /tmpfs/src/logs/java-vision
2021-09-08 15:09:52,050 autosynth [DEBUG] > Running: git config --global core.excludesfile /home/kbuilder/.autosynth-gitignore
2021-09-08 15:09:52,053 autosynth [DEBUG] > Running: git config user.name yoshi-automation
2021-09-08 15:09:52,056 autosynth [DEBUG] > Running: git config user.email<EMAIL_ADDRESS>2021-09-08 15:09:52,059 autosynth [DEBUG] > Running: git config push.default simple
2021-09-08 15:09:52,062 autosynth [DEBUG] > Running: git branch -f autosynth
2021-09-08 15:09:52,065 autosynth [DEBUG] > Running: git checkout autosynth
Switched to branch 'autosynth'
2021-09-08 15:09:52,084 autosynth [DEBUG] > Running: git clean -fdx
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 359, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 191, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 273, in _inner_main
    flags = autosynth.flags.parse_flags(synth_file_name)
  File "/tmpfs/src/github/synthtool/autosynth/flags.py", line 50, in parse_flags
    module = ast.parse(path.read_text())
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/pathlib.py", line 1196, in read_text
    with self.open(mode='r', encoding=encoding, errors=errors) as f:
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/pathlib.py", line 1183, in open
    opener=self._opener)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/pathlib.py", line 1037, in _opener
    return self._accessor.open(self, flags, mode)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/pathlib.py", line 387, in wrapped
    return strfunc(str(pathobj), *args)
FileNotFoundError: [Errno 2] No such file or directory: 'synth.py'

Google internal developers can see the full log here.

java-vision has been migrated to owlbot. Autosynth should no longer run on the repo.


Enable localization for all of our Power Apps

We should look at enabling localization for our Power Apps.  We have quite a few service partners who their 2nd language is English.
https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/connections/connection-microsoft-translator

bring to engineering triage

This is blocked until the UI for the scheduler tool is stable.
We need to see a way to test the translations make sense in a specific language

Had a brief look at Microsoft Translator, basically we need to call it to translate a specific text into another language. There is no global setting to translate the entire App into another language. So, it takes more effort than expected.
Synced with @ladonnaq, it's nice to have this feature but has lower priority, put it back to backlog.

As part of this, we should keep in mind that dates will be translated into the user's browser language. If we want to keep consistency between languages, a language must be specified when casting a date into a text.


Overflow exception and Websocket reconnect failing with Coinbase Pro

Expected Behavior
Websocket connection to Coinbase Pro stays reasonably stable.
Actual Behavior
Recently the websocket connection became much more unstable as compared to the average behaviour over the past few months.
If a websocket connection is disrupted, reconnection does not happen and LEAN exits within about 15 min or so.
In the past, reconnection happened normally after 1-2 attemps. Currently, it fails repeatedly. A rare case of reconnection happening before LEAN exits has the following log:
20200421 16:11:25.786 Trace:: Isolator.ExecuteWithTimeLimit(): Used: 60, Sample: 61, App: 287, CurrentTimeStepElapsed: 00:00.000
20200421 16:12:26.422 Trace:: Isolator.ExecuteWithTimeLimit(): Used: 59, Sample: 57, App: 277, CurrentTimeStepElapsed: 00:00.000
20200421 16:13:27.128 Trace:: Isolator.ExecuteWithTimeLimit(): Used: 60, Sample: 65, App: 284, CurrentTimeStepElapsed: 00:00.000

20200421 16:13:58.800 Trace:: WebSocket.<startReceiving>b__170_2(): System.StackOverflowException: The requested operation caused a stack overflow.
  at Mono.Net.Security.AsyncProtocolRequest.InnerRead (System.Threading.CancellationToken cancellationToken) <0x41513790 + 0x00007> in <a360a10e096b4659a9142a244dda
ea3e>:0
  at Mono.Net.Security.AsyncProtocolRequest+<ProcessOperation>d__24.MoveNext () [0x0002f] in <a360a10e096b4659a9142a244ddaea3e>:0
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine] (TStateMachine& stateMachine) [0x0002c] in <b0e1ad7573a24fd5a9f2af9595e677e7>:0
  at Mono.Net.Security.AsyncProtocolRequest.ProcessOperation (System.Threading.CancellationToken cancellationToken) [0x0002b] in <a360a10e096b4659a9142a244ddaea3e>:
0
  at Mono.Net.Security.AsyncProtocolRequest+<StartOperation>d__23.MoveNext () [0x0002a] in <a360a10e096b4659a9142a244ddaea3e>:0
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].Start[TStateMachine] (TStateMachine& stateMachine) [0x0002c] in <b0e1ad7573a24fd5a9f2af9595e6
77e7>:0
  at Mono.Net.Security.AsyncProtocolRequest.StartOperation (System.Threading.CancellationToken cancellationToken) [0x0002b] in <a360a10e096b4659a9142a244ddaea3e>:0
  at Mono.Net.Security.MobileAuthenticatedStream+<StartOperation>d__58.MoveNext () [0x000b4] in <a360a10e096b4659a9142a244ddaea3e>:0
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].Start[TStateMachine] (TStateMachine& stateMachine) [0x0002c] in <b0e1ad7573a24fd5a9f2af9595e6
77e7>:0
  at Mono.Net.Security.MobileAuthenticatedStream.StartOperation (Mono.Net.Security.MobileAuthenticatedStream+OperationType type, Mono.Net.Security.AsyncProtocolRequ
est asyncRequest, System.Threading.CancellationToken cancellationToken) [0x0003b] in <a360a10e096b4659a9142a244ddaea3e>:0
  at Mono.Net.Security.MobileAuthenticatedStream.BeginRead (System.Byte[] buffer, System.Int32 offset, System.Int32 count, System.AsyncCallback asyncCallback, Syste
m.Object asyncState) [0x00013] in <a360a10e096b4659a9142a244ddaea3e>:0
  at System.Net.Security.SslStream.BeginRead (System.Byte[] buffer, System.Int32 offset, System.Int32 count, System.AsyncCallback asyncCallback, System.Object async
State) [0x00006] in <a360a10e096b4659a9142a244ddaea3e>:0
  at WebSocketSharp.Ext.ReadBytesAsync (System.IO.Stream stream, System.Int32 length, System.Action`1[T] completed, System.Action`1[T] error) [0x0005c] in <1fc1e12f
21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame.readHeaderAsync (System.IO.Stream stream, System.Action`1[T] completed, System.Action`1[T] error) [0x0000e] in <1fc1e12f21eb4681a
a69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame.ReadFrameAsync (System.IO.Stream stream, System.Boolean unmask, System.Action`1[T] completed, System.Action`1[T] error) [0x00023]
 in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocket+<>c__DisplayClass170_0.<startReceiving>b__0 () [0x00000] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocket+<>c__DisplayClass170_0.<startReceiving>b__1 (WebSocketSharp.WebSocketFrame frame) [0x00044] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass82_0.<ReadFrameAsync>b__3 (WebSocketSharp.WebSocketFrame frame3) [0x00012] in <1fc1e12f21eb4681aa69c484f58d0121>
:0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass77_0.<readPayloadDataAsync>b__0 (System.Byte[] bytes) [0x00035] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.Ext+<>c__DisplayClass54_0.<ReadBytesAsync>b__0 (System.IAsyncResult ar) [0x0009e] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at System.Threading.Tasks.TaskToApm.Begin (System.Threading.Tasks.Task task, System.AsyncCallback callback, System.Object state) [0x00014] in <b0e1ad7573a24fd5a9f
2af9595e677e7>:0
  at Mono.Net.Security.MobileAuthenticatedStream.BeginRead (System.Byte[] buffer, System.Int32 offset, System.Int32 count, System.AsyncCallback asyncCallback, Syste
m.Object asyncState) [0x00018] in <a360a10e096b4659a9142a244ddaea3e>:0
  at System.Net.Security.SslStream.BeginRead (System.Byte[] buffer, System.Int32 offset, System.Int32 count, System.AsyncCallback asyncCallback, System.Object async
State) [0x00006] in <a360a10e096b4659a9142a244ddaea3e>:0
  at WebSocketSharp.Ext.ReadBytesAsync (System.IO.Stream stream, System.Int32 length, System.Action`1[T] completed, System.Action`1[T] error) [0x0005c] in <1fc1e12f
21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame.readPayloadDataAsync (System.IO.Stream stream, WebSocketSharp.WebSocketFrame frame, System.Action`1[T] completed, System.Action`1
[T] error) [0x00097] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass82_0.<ReadFrameAsync>b__2 (WebSocketSharp.WebSocketFrame frame2) [0x00000] in <1fc1e12f21eb4681aa69c484f58d0121>
:0
  at WebSocketSharp.WebSocketFrame.readMaskingKeyAsync (System.IO.Stream stream, WebSocketSharp.WebSocketFrame frame, System.Action`1[T] completed, System.Action`1[
T] error) [0x0004a] in <1fc1e12f21eb4681aa69c484f58d0121>:0

  at Mono.Net.Security.MobileAuthenticatedStream.BeginRead (System.Byte[] buffer, System.Int32 offset, System.Int32 count, System.AsyncCallback asyncCallback, Syste
m.Object asyncState) [0x00018] in <a360a10e096b4659a9142a244ddaea3e>:0
  at System.Net.Security.SslStream.BeginRead (System.Byte[] buffer, System.Int32 offset, System.Int32 count, System.AsyncCallback asyncCallback, System.Object async
State) [0x00006] in <a360a10e096b4659a9142a244ddaea3e>:0
  at WebSocketSharp.Ext.ReadBytesAsync (System.IO.Stream stream, System.Int32 length, System.Action`1[T] completed, System.Action`1[T] error) [0x0005c] in <1fc1e12f
21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame.readPayloadDataAsync (System.IO.Stream stream, WebSocketSharp.WebSocketFrame frame, System.Action`1[T] completed, System.Action`1
[T] error) [0x00097] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass82_0.<ReadFrameAsync>b__2 (WebSocketSharp.WebSocketFrame frame2) [0x00000] in <1fc1e12f21eb4681aa69c484f58d0121>
:0
  at WebSocketSharp.WebSocketFrame.readMaskingKeyAsync (System.IO.Stream stream, WebSocketSharp.WebSocketFrame frame, System.Action`1[T] completed, System.Action`1[
T] error) [0x0004a] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass82_0.<ReadFrameAsync>b__1 (WebSocketSharp.WebSocketFrame frame1) [0x00000] in <1fc1e12f21eb4681aa69c484f58d0121>
:0
  at WebSocketSharp.WebSocketFrame.readExtendedPayloadLengthAsync (System.IO.Stream stream, WebSocketSharp.WebSocketFrame frame, System.Action`1[T] completed, Syste
m.Action`1[T] error) [0x00044] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass82_0.<ReadFrameAsync>b__0 (WebSocketSharp.WebSocketFrame frame) [0x00000] in <1fc1e12f21eb4681aa69c484f58d0121>:
0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass73_0.<readHeaderAsync>b__0 (System.Byte[] bytes) [0x0000c] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.Ext+<>c__DisplayClass54_0.<ReadBytesAsync>b__0 (System.IAsyncResult ar) [0x0009e] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at System.Threading.Tasks.TaskToApm.Begin (System.Threading.Tasks.Task task, System.AsyncCallback callback, System.Object state) [0x00014] in <b0e1ad7573a24fd5a9f
2af9595e677e7>:0
  at Mono.Net.Security.MobileAuthenticatedStream.BeginRead (System.Byte[] buffer, System.Int32 offset, System.Int32 count, System.AsyncCallback asyncCallback, Syste
m.Object asyncState) [0x00018] in <a360a10e096b4659a9142a244ddaea3e>:0
  at System.Net.Security.SslStream.BeginRead (System.Byte[] buffer, System.Int32 offset, System.Int32 count, System.AsyncCallback asyncCallback, System.Object async
State) [0x00006] in <a360a10e096b4659a9142a244ddaea3e>:0
  at WebSocketSharp.Ext.ReadBytesAsync (System.IO.Stream stream, System.Int32 length, System.Action`1[T] completed, System.Action`1[T] error) [0x0005c] in <1fc1e12f
21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame.readHeaderAsync (System.IO.Stream stream, System.Action`1[T] completed, System.Action`1[T] error) [0x0000e] in <1fc1e12f21eb4681a
a69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame.ReadFrameAsync (System.IO.Stream stream, System.Boolean unmask, System.Action`1[T] completed, System.Action`1[T] error) [0x00023]
 in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocket+<>c__DisplayClass170_0.<startReceiving>b__0 () [0x00000] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocket+<>c__DisplayClass170_0.<startReceiving>b__1 (WebSocketSharp.WebSocketFrame frame) [0x00044] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass82_0.<ReadFrameAsync>b__3 (WebSocketSharp.WebSocketFrame frame3) [0x00012] in <1fc1e12f21eb4681aa69c484f58d0121>
:0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass77_0.<readPayloadDataAsync>b__0 (System.Byte[] bytes) [0x00035] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.Ext+<>c__DisplayClass54_0.<ReadBytesAsync>b__0 (System.IAsyncResult ar) [0x0009e] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at System.Threading.Tasks.TaskToApm.Begin (System.Threading.Tasks.Task task, System.AsyncCallback callback, System.Object state) [0x00014] in <b0e1ad7573a24fd5a9f
2af9595e677e7>:0
  at Mono.Net.Security.MobileAuthenticatedStream.BeginRead (System.Byte[] buffer, System.Int32 offset, System.Int32 count, System.AsyncCallback asyncCallback, Syste
m.Object asyncState) [0x00018] in <a360a10e096b4659a9142a244ddaea3e>:0
  at System.Net.Security.SslStream.BeginRead (System.Byte[] buffer, System.Int32 offset, System.Int32 count, System.AsyncCallback asyncCallback, System.Object async
State) [0x00006] in <a360a10e096b4659a9142a244ddaea3e>:0
  at WebSocketSharp.Ext.ReadBytesAsync (System.IO.Stream stream, System.Int32 length, System.Action`1[T] completed, System.Action`1[T] error) [0x0005c] in <1fc1e12f
21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame.readPayloadDataAsync (System.IO.Stream stream, WebSocketSharp.WebSocketFrame frame, System.Action`1[T] completed, System.Action`1
[T] error) [0x00097] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass82_0.<ReadFrameAsync>b__2 (WebSocketSharp.WebSocketFrame frame2) [0x00000] in <1fc1e12f21eb4681aa69c484f58d0121>
:0
  at WebSocketSharp.WebSocketFrame.readMaskingKeyAsync (System.IO.Stream stream, WebSocketSharp.WebSocketFrame frame, System.Action`1[T] completed, System.Action`1[
T] error) [0x0004a] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass82_0.<ReadFrameAsync>b__1 (WebSocketSharp.WebSocketFrame frame1) [0x00000] in <1fc1e12f21eb4681aa69c484f58d0121>
:0
  at WebSocketSharp.WebSocketFrame.readExtendedPayloadLengthAsync (System.IO.Stream stream, WebSocketSharp.WebSocketFrame frame, System.Action`1[T] completed, Syste
m.Action`1[T] error) [0x00044] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass82_0.<ReadFrameAsync>b__0 (WebSocketSharp.WebSocketFrame frame) [0x00000] in <1fc1e12f21eb4681aa69c484f58d0121>:
0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass73_0.<readHeaderAsync>b__0 (System.Byte[] bytes) [0x0000c] in <1fc1e12f21eb4681aa69c484f58d0121>:0

(repeats over several 100s kB of log)

  at WebSocketSharp.Ext.ReadBytesAsync (System.IO.Stream stream, System.Int32 length, System.Action`1[T] completed, System.Action`1[T] error) [0x0005c] in <1fc1e12f
21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame.readPayloadDataAsync (System.IO.Stream stream, WebSocketSharp.WebSocketFrame frame, System.Action`1[T] completed, System.Action`1
[T] error) [0x00097] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass82_0.<ReadFrameAsync>b__2 (WebSocketSharp.WebSocketFrame frame2) [0x00000] in <1fc1e12f21eb4681aa69c484f58d0121>
:0
  at WebSocketSharp.WebSocketFrame.readMaskingKeyAsync (System.IO.Stream stream, WebSocketSharp.WebSocketFrame frame, System.Action`1[T] completed, System.Action`1[
T] error) [0x0004a] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass82_0.<ReadFrameAsync>b__1 (WebSocketSharp.WebSocketFrame frame1) [0x00000] in <1fc1e12f21eb4681aa69c484f58d0121>
:0
  at WebSocketSharp.WebSocketFrame.readExtendedPayloadLengthAsync (System.IO.Stream stream, WebSocketSharp.WebSocketFrame frame, System.Action`1[T] completed, Syste
m.Action`1[T] error) [0x00044] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass82_0.<ReadFrameAsync>b__0 (WebSocketSharp.WebSocketFrame frame) [0x00000] in <1fc1e12f21eb4681aa69c484f58d0121>:
0
  at WebSocketSharp.WebSocketFrame+<>c__DisplayClass73_0.<readHeaderAsync>b__0 (System.Byte[] bytes) [0x0000c] in <1fc1e12f21eb4681aa69c484f58d0121>:0
  at WebSocketSharp.Ext+<>c__DisplayClass54_0.<ReadBytesAsync>b__0 (System.IAsyncResult ar) [0x0009e] in <1fc1e12f21eb4681aa69c484f58d0121>:0
20200421 16:13:58.815 Trace:: WebSocketWrapper.OnClose(): Connection closed (IsOpen:False, ReadyState:Closed, Code:1006, Reason:An exception has occurred while rece
iving., WasClean:False): wss://ws-feed.pro.coinbase.com
20200421 16:15:34.604 Trace:: Brokerage.OnMessage(): Disconnect - Code: Disconnect - Connection with server lost. This could be because of internet connectivity iss
ues.
20200421 16:15:34.604 Trace:: DefaultBrokerageMessageHandler.Handle(): Disconnected.
20200421 16:15:34.605 Trace:: DefaultBrokerageMessageHandler.Handle(): Disconnect when exchanges are open, trying to reconnect for 15 minutes.
20200421 16:15:44.605 Trace:: BaseWebsocketsBrokerage(): Reconnecting... IsConnected: False
20200421 16:15:44.796 Trace:: WebSocketWrapper.OnOpen(): Connection opened (IsOpen:True, ReadyState:Open): wss://ws-feed.pro.coinbase.com
20200421 16:15:44.797 Trace:: GDAXBrokerage.Subscribe: Sent subscribe.
20200421 16:15:55.436 Trace:: Brokerage.OnMessage(): Reconnect - Code: Reconnect - Connection with server restored.
20200421 16:15:55.436 Trace:: DefaultBrokerageMessageHandler.Handle(): Reconnected.
20200421 16:16:28.584 Trace:: Isolator.ExecuteWithTimeLimit(): Used: 59, Sample: 59, App: 278, CurrentTimeStepElapsed: 00:00.000
20200421 16:17:29.394 Trace:: Isolator.ExecuteWithTimeLimit(): Used: 59, Sample: 60, App: 279, CurrentTimeStepElapsed: 00:00.000

Potential Solution
The issue seems to have started after a recent commit from this PR:
https://github.com/QuantConnect/Lean/pull/4317
Perhaps check the reconnection attempt logic and what causes the overflow?
Reproducing the Problem
Keep LEAN connected to GDAX live and subscribe to a trading pair with 1 min resolution. Observe what happens after the websocket connection is disrupted.
System Information
Lean running in a Docker container following DockerLeanFoundation.
Checklist

[x] I have completely filled out this template
[x] I have confirmed that this issue exists on the current master branch
[x] I have confirmed that this is not a duplicate issue by searching issues

[x] I have provided detailed steps to reproduce the issue

Exception stacktrace messages are also coming at a very fast rate: over 30 MB of logs in 12 hours (websocket was disconnected about 10 times over that time period)...

Reverting back to an older Lean version with everything else staying the same restores a stable Coinbase Pro websocket operation, with occasional disconnects being quickly reconnected.

Thank you @multidis; we'll look into this more. @StefanoRaggi

@multidis
this issue seems related to the WebSocketSharp library we're using for CoinbasePro.
In #4317 we didn't update the library (it was only an update for the handling of order fills)
Do you know which LEAN version you were using before the upgrade?
Can you confirm that reverting to the LEAN version prior to the #4317 merge the issue persists?

@StefanoRaggi after some extensive testing: yes you are correct the issue still happens prior to #4317. For example, the same problem happens with this commit 0b3ecea4d74a0c785e98b111d5ea2a3999820866
More experimentation shows that the 2020-03-31 version of LEAN seems to work fine and reconnects properly (at least after a few hours testing): f47e3612274973fd7c72ee0b1720956db3987cd7

@StefanoRaggi turns out the 2020-03-31 commit I am referring to also generates the stack overflow message and kills LEAN session after 15 min. Observed that after a longer testing. Seems more stable however than the master. Overall, the testing is fairly difficult and poorly reproducible. WebSocketSharp.WebSocketFrame is most commonly mentioned in megabytes of error log.

@multidis Thanks for the extensive testing, the WebSocketSharp library we are currently using has a few issues, I think we need to replace it with a more stable build or even replacing it with a different library.

System.Net.WebSockets indeed appears to be stable, thank you @StefanoRaggi for the fix!


Match var names & ops. Null chk. Default headers.

Description
Should fixe some residual issues with https://github.com/lomsa-dev/http-mock-adapter/pull/69 described below.
Match variable names didn't match the actual operation, they were relying on !match() and the names reflected positive matching.
Moved null check to matches function for less code.
Added default headers to the header check since the adapter adds them on the fetch call.
Signed-off-by: Nick Campbell<EMAIL_ADDRESS>

Yea. I thought about this but attempted to keep them consistent with how I might read something. matching wasn't quite working when I tried to "read" what the variable meant. Thinking about it again though the checks tell you something about the past so maybe using the Matched postfix instead would be best:

requestDataMatched
headersMatched
queryParametersMatched

Thoughts?

Yea. I thought about this but attempted to keep them consistent with how I might read something. matching wasn't quite working when I tried to "read" what the variable meant. Thinking about it again though the checks tell you something about the past so maybe using the Matched postfix instead would be best:
* `requestDataMatched`

* `headersMatched`

* `queryParametersMatched`

Thoughts?

Sounds good to me! I will approve the PR as soon as the changes will be applied.

Landed the changes we discussed.

Both #78 and #79 is approved by me. Let's see if @campfire5 has something to add, he will review the PRs soon and then we will merge the changes.


Fixes ISSUE #10364.

This PR fixes the Bug reported on Issue #10364 and performs a code cleanup by removing unused function parameters.

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


Is there any way to get the GeoLocation with impressions

Is there any way to get the GeoLocation of the User with impressions ? Currently, it is only storing the IP address, i want to store the physical address of the user for which we are creating impressions.

You would have to do this after the fact.  Maybe add a background process that does the IP to Geo conversion using a 3rd party service.  This is not something that would be efficient or reliable enough to add directly to this gem.


Ricochet Paddle vs Blastwave

Blastwave does not do anything to missiles when the player has Ricochet Paddle.

Fixed as of 1.0.2.


[Design Proposal] Standardized interface for LLM provider usage

@hwchase17 Thank you for leading work on this repo! It's very clear you've put a lot of love into this project. 🤗 ❤
My coworker, @3coins, with whom I work daily, is a regular contributor here.
I wanted to offer you a design proposal that I think would be a great addition to LangChain. Here goes:
Motivation
LLM providers lack a unified interface for common use-cases:

Specifying a model ID to a model provider

Users lack a unified interface for specifying the model they wish to use when instantiating a model provider. openai and openai-chat both expect the model ID in model_name, but ai21 and anthropic expect model.

Discovering supported models

Users don't have any way of determining valid model IDs for a given provider. For example, a user trying to invoke ChatGPT via OpenAI(model_name="chatgpt") will be quite confused, and there's no clear way for a user to look up what the allowed values are.
The only solution for this now is to look up upstream API reference documentation on what models are allowed, which is very tedious.

Determining prerequisites

Users don't have any way of determining what packages they need without looking at the source code or encountering a runtime ImportError, even if they have knowledge of what providers they wish to use. There's no attribute/property on any of the model providers that lists what packages must be installed before using them.

Determining necessary authentication

Similar to the use-case above, users don't have any way of knowing in advance what authentication they should supply and how to supply them before using a provider.

We have run into this pain points while integrating LangChain with Jupyter AI. This proposal, if accepted, would allow for applications to build on top of LangChain LLM providers much more easily.
Proposal
I propose:

We formalize the notion of model IDs and provider IDs, and enforce this naming convention broadly throughout the codebase and documentation.
We implement a unified interface for provider interaction by expanding the definition of BaseLanguageModel:

class EnvAuthStrategy(BaseModel):
    type: Literal["env"] = 'env'
    name: str

# for sagemaker_endpoint expecting creds at ~/.aws/credentials
class FileAuthStrategy(BaseModel):
    type: Literal["file"] = 'file'
    path: str

AuthStrategy = Union[EnvAuthStrategy, FileAuthStrategy]

class BaseLanguageModel(BaseModel, ABC):
    # provider ID. this is currently bound to _llm_type()
    id: str

    # ID of the model to invoke by this provider
    model_id: str

    # List of supported models
    # For registry providers, this will just be ["*"]
    # See rest of the issue for explanation
    models: List[str]

    # List of package requirements
    package_reqs: List[str]

    # Authn/authz strategy
    auth_strategy: AuthStrategy

    ...

Subclasses should override these fields and make all of them constant with the exception of model_id. For example, the cohere provider might look something like this:
class CohereAuthStrategy(EnvAuthStrategy):
    name = "COHERE_API_KEY"

class Cohere(LLM, BaseModel):
  id = Field("cohere", const=True)

  # "medium" is just the default, still changeable at runtime
  model_id = "medium"

  # Cohere model provider supports any model available via
  # `cohere.Client#generate()`.`
  # Reference: https://docs.cohere.ai/reference/generate
  models: Field(["medium", "xlarge"], const=True)

  package_reqs: Field(["cohere"], const=True)

  auth_strategy: Field(CohereAuthStrategy, const=True)

This strategy also handles registry providers (see "Terminology" section below) nicely. A model ID can be defined as any identifier for an instance of a model. This is best illustrated with a few examples:

huggingface_hub: the HF repo ID, e.g. gpt2 or google/flan-t5-xxl
huggingface_endpoint: the URL to the HF endpoint, e.g. https://foo.us-west-2.aws.endpoints.huggingface.cloud/bar
sagemaker_endpoint: the endpoint name. Your region and authentication credentials should already be specified via boto3.

While the syntax of model IDs is indeed very different for registry providers, if you think about it, it still functions exactly as a model ID: it identifies one and only one model hosted elsewhere.
Because registry providers have a dynamic, unknown, and very large set of valid model IDs, they declare their supported models using a wildcard like so:
models: Field(["*"], const=True)

Next steps
Let's first get consensus on this proposal and assign the work later. I'd be happy to kick off the PR and define the types, but I'll likely need to loop in other contributors to assist due to the scope of this proposal. There will also need to be some work done on the documentation as well.
Appendix
Terminology

Model provider / LLM provider: A class that can provide one or more models. In LangChain, these currently inherit BaseLanguageModel.

Registry provider: A special subset of model providers that have a dynamic number of provided models.

These include but are not limited to: huggingface_hub, huggingface_endpoint, sagemaker_endpoint
These providers are unique in the sense that they do not have a static number of models they support. New models are being uploaded to HuggingFace Hub daily.
We call these providers "registry providers" (since they mimic the behavior of a package registry, like NPM/PyPi)

Model: A model provided by a model provider (forgive the circular working definition, models are quite difficult to define strictly). For example, text-davinci-003 is a model provided by the openai model provider.

Model provider ID: a string identifier for a model provider. Currently this is retrieved from the _llm_type property.

Model ID: a string identifier for a model.

thanks for this thoughtful proposal, really appreciate the clarity. I think standardizing model/model_name is a quick easy win.
of the other parts, what do you think the highest value ones are?

@hwchase17 I think model discovery (use-case 2) is the next greatest value-add, though it is also the most ambiguous and tricky to implement. Although the scope of this proposal is large, I think it's small enough to be doable in a single PR. Since each of these suggestions requires implementing this for every LLM provider anyways, splitting the implementation of this proposal across multiple PRs seems to involve more complexity than not.


Update portrait_plot_lib.py

Updating prepare_data(). Removed lines that create a masked array to maintain NaN values for Mean Climate Interactive Portrait Plot. This allows us to use bokeh parameter nan_color = missing_color.
Addressing issue #1077 .
Related to NaN styling update described here .

@kristinchang3 thank you for the PR. I confirmed that existing notebooks for portrait plots are working fine with this PR. I am going to merge the PR once the CI process completes.


Shortcuts to folders - like menu folders

In Windows 11, Microsoft has now removed the functionality to create a Toolbar on the Taskbar.
And through this panel was a convenient way to access the Desktop.
I have a fantasy suggestion: Couldn't TrayToolbar be tweaked so that shortcuts to folders would stand as folders in the TrayToolbar menu?
I really don't want to add them via a separate button.
On my old Windows 11 24H2 computer, somehow I had a setting that allowed me to add Toolbars to the Taskbar, but I can't remember what tweaker I used to do it.

This sounds just like the request in #24
I may add that as an option soon.

v1.3.5: Shortcuts referring to folders (example c:\Users\Public\Desktop) are not expanded into menu items. Request in #24 and #26. Currently - it just shows up as a shortcut link, followed by opening it in Explorer.


motoko template files

I have Go code that generates Motoko, and the vs code plugin is recognising the template files and giving me errors.  I renamed them to .mt not .mo and that worked before, but now the latest 0.4.4 is generating errors.
Could we please have a setting that allows us to specify the file extension?  I've seen that on a few things like prettify.  Or maybe there's a better solution.

Thanks

Just to make sure I understand, are you hoping to keep the syntax highlighting on *.mt files without generating type errors?
If you just want to skip checking these template files, I could look into adding the ability to ignore specific files using something like a // @motoko-ignore-file line comment. Would this work for your use case?

The highlighting is fine, but there doesn't need to be any errors at all.  That's how it was previously anyway.
The issue with the comment is that it then gets into the generated file, so I have to code around that.  I'm sure there's something in the go templating library that can get around that but it could be messy.
What about something like :
Highlighting:
File patterns to apply syntax text highlighting to:
Default : *.mo
Error Checking:
File patterns to check for compiler problems:
Default : *.mo
That may not be the best solution, but it would solve our problems.  Thanks!

For consistency between projects and editors, I added syntax highlighting for *.mo_ files in v0.4.6 of the extension.
Let me know if this works for now, and I'll run this past the rest of the Motoko team to figure out how we want to support these sorts of use cases in general.

Yeah, that's fine... all implemented.  If it changes that's fine.
Thanks again!


Allow for UDP servers

Extend the Server interface with ServePacket and ListenPacket - this is
in the same vein as the net package.
Plumb the packetconn through the start and restart phases.
Rename RestartPair to RestartTriple as it now also contains a Packet.
Not that these can now be nil, so we need to check for that when
restarting.

Yes, no tests (yet). Oh and I prolly forgot to change the tests..

Great! Did you test the restarts to make sure they still work?

[ Quoting<EMAIL_ADDRESS>in "Re: [mholt/caddy] Allow for UDP ser..." ]

Great! Did you test the restarts to make sure they still work?

Yes, restarts work. For both caddy -type=http and -type=dns.

Pushed updated godoc.

I hereby dub thee, "Caddy DNS master" :smile:
I'll give you push rights in the interest of preserving this functionality. Thank you Miek!

Hehe :-) Cool and thank you!


Make support for ARM7 no NEON (tegra2 CPU)

Please do it for old CPU.

@Stepman123 This is no longer supported in Chromium. I could try to do it, but no promises.

@Alex313031
There used to be a man who made buildings based on Bromite. https://github.com/Decatf/chromium_src/
Later, another person made Kiwi 77 on these instructions and it worked great. And then someone else made Chromium and WebView 96, but it has some problems with MP4.


After interpolate is set to true, there are still curved teeth when loading cogtif

I am loading cogtif data for display. The property interpolate in new GeoTIFFSource is set to true, which means linear interpolation. It is smooth in some places, but there are still obvious jaggies in some places.

If you are reprojecting reproj tiles will by default be produced for each zoom level in the view, so there will be nothing for the WebGL renderer to interpolate.  If you restrict the reproj tile grid to an equivalent (taking into account the differences in the projections) maxZoom as the original source the renderer will interpolate when overzooming.  Compare the same GeoTIFF in the two maps in https://stackblitz.com/edit/js-wacbe4?file=package.json,index.html,index.js


Display Store Location in the World on User Page (optional)

Why is OpenBazaar using Google Map ?
The functionality that is used is available from OpenStreetMaps / openlayers too.
http://openlayers.org/en/v3.13.1/examples/geolocation.html
http://openlayers.org/en/v3.13.1/examples/

We're not set on Google Maps. If someone wants to submit a pr with OpenMaps, I'm sure we would accept it, assuming it's working well of course.

There's nothing wrong with Google maps, it's probably the best and most consumer friendly mapping system out there.
Anyway, the original issue was about displaying the Store Location in the User page, which I'm 100% behind... otherwise the user will find out via a failed order.
@morebrownies @jjeffryes @rmisio

Instead of OpenLayers, Leaflet might be a better/simpler solution (OSM itself is using Leaflet for the slippy map).
+1 for migrating from Google Maps to OpenStreetMap.

@morebrownies how would this look design wise? Are we talking about adding a map somewhere on the About tab of the User page?

@morebrownies this would be a good idea for 2.0

We have decided not to do this.


support DATE_BUCKET() function

Description
With this pull request babelfish now supports function DATE_BUCKET().
A simple example explaining what DATE_BUCKET() does.
DATE_BUCKET(year, 2, cast(2015-09-01’ as date), cast(‘2010-01-01’ as date))
This will create buckets of size ‘2 years’ starting from origin.
So the bucketing will look something like below -
[2010-01-01, 2012-01-01), [2012-01-01, 2014-01-01), [2014-01-01, 2016-01-01)
Here, date ‘2015-09-01’ lies in the 3rd bucket so the date_bucket function will return starting point of that bucket i.e. ‘2014-01-01’.
For detailed explanation -
Reference - https://github.com/MicrosoftDocs/sql-docs/blob/live/docs/t-sql/functions/date-bucket-transact-sql.md
Issues Resolved
BABEL-3952
Test Scenarios Covered

Use case based -
JDBC testing is performed for use case based.

Singned-off-by: Sandeep Kumawat<EMAIL_ADDRESS>Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Are result of the testcases verified correctly?

yes, matching of output is compared with sql server output.

Are result of the testcases verified correctly?

Yes, BBF output compared with sql server output.


[GGSoC'23] Adding animation on scroll on the cards.

Hey,
I would like to make the cards responsive and would add animation on scroll, which would make the website more interactive.

Hello, I'm Om.
I'd worked on similar issue. I want to work on this issue, can you explain a bit more. I will happy to contribute in this issue.

Hello , @akshitagupta15june  I am good with css and animations and I would like to contribute in this project please assign to me so that I can start working.

some are working on it


Use dev version of core-lightning for faster polling

Core-lightning is doing some slow polling in production builds (e.g. channel openings, chain tip, …). Dev builds are said to speed things up or at least allow us to set --dev-* options to reduce polling latency. This should speed up integration tests.

Apparently I need an ACK from somone else with merge rights after protecting master after accidentally pushing to master again recently. @justinmoon 🥺


jupyter-book upgrade overwrites customizations

Calling jupyter-book upgrade on my jupyter-book can be a bit tedious sometimes: I have some customizations that get overwritten by this. So everytime I upgrade my book, I have to apply several patches manually and this is a bit errorprone.
Some of these customizations are very special to my use case, others are not: For instance, my circle-ci config and my google analytics tracking code are overwritten with each upgrade.

Ah yes - I totally agree with you, what are some ways that we could improve this process?
One idea that I had come up with was to totally separate out the content from the book's website structure. For example, tell users to put their content in a folder called content/ and remove the "jupyter-book create" step from the build process. Instead, users only run jupyter-book build path/to/content/ and it would check whether a folder called book/ exists. If not, create it. And then build the pages and dump the resulting Jekyll content inside the book/ folder. That way, running an upgrade would basically amount to "delete the book/ folder and Jupyter Book will auto-generate a new one next time".

I like the idea, it provides a cleaner distinction between content and code. But it does not entirely fix the probem: What if there are updates to the config.yml file? What if a user uses custom code, e.g. a custom thebelab version or some custom css? A full fledged (but probably not so easy to implement) solution would be to check if the book directory exists, and if it does

parse the pre-upgrade jupyter-book version
create patches from a diff of the user's book content to the default book content of the parsed jupyter-book version (these should now include all customizations)
upgrade the book to a new version and apply the patches from the previous step.

So that's sort of what it's already trying to do (e.g. for the config.yml step, it should take the new template config.yml file and then update it with the values in the user's config.yml file). I bet there are a bunch of things there that we can improve for the upgrade process. I'm more than happy to review PRs etc to improve this for a subset of files that we want to check whenever somebody upgrades.

I have to admit I haven't checked the implementation up to now :) So I guess the main difference is that I would like to patch any file, rather than special files such as config.yml. But I have to admit that I am not sure how to do this properly.
Say you want to upgrade  to version 3.2.1.

You would first parse the jupyter_book_version from the existing _config.yml, say 1.2.3.
The main difficulty would be to create a new book book_new-1.2.3 using the pre-upgrade jupyter-book version 1.2.3. If this boils down to just copying package data, we could instead download these files for the correct git tag 1.2.3 using say GitPython or just the Github REST API?
Then we would need something like diff-match-patch to create the patches from the diffs of the user's book and book_new-1.2.3.
Finally we could create a new book book_new-3.2.1 using the new version 3.2.1 and apply the customization patches.

Since this is a big change, it could be hidden behind a CLI option --apply-patches that defaults to false,
jupyter-book upgrade --apply-patches

If this makes sense at all, I am happy to try to implement this next time I have to upgrade jupyter-book on my side. But I am also happy if there is an easier solution, that does not add further dependencies to jupyter-book.

Hey @joergbrech - I just tried adding some functionality that should improve this a little bit in https://github.com/jupyter/jupyter-book/pull/449
Could you try pulling the latest master branch and seeing if it improves your experience at all? In particular, note that now there is an --extra-files parameter you can pass to upgrade that will take a comma-separated string of paths to other folders/files you want to keep as originals in the upgrade.

Sorry for the late reply. This looks good and is definitely helpful! Thanks!
I still do have a couple of customizations in the javascript files of my book that I have to handle by hand, but I suppose that is just me making things more complicated than they should be.
I have just one follow-up question: Isn't it a bit unintuitive, that the upgrade process deletes my custom files by default, even when they are unrelated to the book generation process? For instance, when I punch in jupyter-book upgrade without the --extra-files subcommand, my README.md, CONTRIBUTING.md and LICENSE e.t.c. get deleted:
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    .binder/apt.txt
        deleted:    .binder/environment.yml
        deleted:    .binder/postBuild
        deleted:    .circleci/config.yml
        deleted:    .zenodo.json
        deleted:    CHANGELOG.md
        deleted:    CONTRIBUTING.md
        deleted:    Gemfile.lock
        deleted:    LICENSE
        modified:   Makefile
        deleted:    README.md
        modified:   _config.yml
        modified:   _includes/head.html
        [...]

@joergbrech yeah I think you are right, this is really sub-optimal behavior.
We are working on a re-write of Jupyter Book's backend that will make it utilize Sphinx instead of Jekyll under-the-hood. I am hoping that this will also improve the upgrade process. I've been holding off on figuring out upgrade stuff on the current jupyter-book implementation in the hopes that this will be resolved soon-ish 🤞

Closing as this should be superceded by beta.jupyterbook.org


fix: yaml is correctly highlighted

closes https://github.com/denoland/deno-gfm/issues/60
Sadly prism doesn't offer an easy way to import languages, so I've just hacked it in by doing:
import<EMAIL_ADDRESS>
The testing strategy I was pursuing needed a major refactor, which I've done here. It's now significantly easier to add server cases. Additionally, you can now easily visually inspect the test cases by running deno task server. This currently produces the following output:
# Deno GFM Server Tests

[basicMarkdownTable](http://localhost:8000/basicMarkdownTable)
[yaml](http://localhost:8000/yaml)

I think the highlighting on the yaml case can be improved. Please let me know what I should be doing in main.scss to improve this.

Waiting on https://github.com/denoland/deno-gfm/pull/99, so that this PR is focused purely on YAML, instead of also redoing the testing infrastructure.

@hashrock and @crowlKats, what do you think about this one? On the positive side, it highlights yaml better than we currently do. On the negative side, it might not be right in all cases and if the user doesn't want yaml highlighting, there's no way to opt out. I'd say the positives outweigh the negatives though.

@deer I agree positives outweigh the negatives.  It would be a positive addition to the package if added, also contributes to the goal of it all working out the box.


Implement MoveTo semantics in Mvc

Simplify things that used to rely on HtmlTextWriter. This behavior is
now the default.

Simplify a whole mess of Razor TextWriter code.

Integration test for merging of TagHelper buffers back into the 'main'
buffer.

/cc @dougbu

:shipit:


Issue with adding headers to the response in API definitions

From https://discord.com/channels/1134448700572319785/1134448701260169249/1264231231017717840
Hi all! I've been playing with the API definition format, but I have a problem: when I try to add headers to the response, I get an empty body instead. Basically, I've defined my response like this:
        "response": "${ {body: golem:component/api.{get-character}() } }"

and it works (I get a JSON reponse from the worker); but when I change it to something like:
        "response": "${ {body: golem:component/api.{get-character}(), headers: { x-test: 'foobar' } } }"

then I get nothing:
> http GET http://localhost:9006/1/character Accept=application/json -phH
GET /1/character HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 30
Content-Type: application/json
Host: localhost:9006
User-Agent: HTTPie/3.2.2

HTTP/1.1 200 OK
content-length: 0
date: Sat, 20 Jul 2024 14:13:08 GMT

Has anyone stubled upon this problem? I've checked the issues but I couldn't find anything related. Thanks!
(edit: forgot to add link to reproducible example: https://github.com/albx79/golem-experiments/tree/main/fate-api)

in relation to Web Assembly Value Encoding, we changed ' to ",
parsing did not failed on ', but expression evaluation ended with empty expression, which resulted in Unit response


Can't stack gems in containers.

I am not able to stack gems when they are inside chest and barrels, I have to take them out and in to my player inventory and stack them there, then move them to the chest again.
Using Apotheosis-1.19.2-6.3.1 and forge version 43.2.21.

Unfortunately the only mechanism to remove nbt data from gems requires them being in the player inventory, so any old gems (from pre-6.3) will require being placed in a player inventory first.


Windows + linux support

How feasible would adding windows and linux support be?

Windows will be doable as soon as Electron supports it and it's fully documented. Linux handles updates in a different way and will there for probably never be supported in Electrons auto-updater.
Discussions regarding this:
https://github.com/atom/electron/issues/939
https://github.com/atom/electron/issues/1479

Thanks!


Edge naming in docs

Issue with current documentation:
Edges and nodes have the same name in the example. It took me some time to figure out what was what. Impatient, yes. Unnecessary, also yes.
Idea or request for content:
Improvement: add _edge to edges in the examples, such as:
def router(state: List[BaseMessage]):
    tool_calls = state[-1].additional_kwargs.get("tool_calls", [])
    if len(tool_calls):
        return "multiply_edge"
    else:
        return "end_edge"

graph.add_conditional_edges("oracle", router, {
    "multiply": "multiply",
    "end_edge": END,
})

What do you think of this instead:
def router(state: List[BaseMessage]) -> Literal["multiply", "__end__"]:
    tool_calls = state[-1].additional_kwargs.get("tool_calls", [])
    if len(tool_calls):
        return "multiply"
    else:
        return "__end__"

graph.add_conditional_edges("oracle", router)

Yes, thanks, I didn't even know it could be done like that.
Is this the best way to suggest documentation improvements by the way?

Ya opening a ticket makes sense! If we agree, we'll either implement ourselves or request you or the community to help out


New package: PDMatsSingular v0.1.0

Registering package: PDMatsSingular
Repository: https://github.com/olivierverdier/PDMatsSingular
Created by: @olivierverdier
Version: v0.1.0
Commit: ec7a04efc57de8f6faa7931c583531b1c50d7ae9
Reviewed by: @olivierverdier
Reference: https://github.com/olivierverdier/PDMatsSingular/commit/ec7a04efc57de8f6faa7931c583531b1c50d7ae9#commitcomment-144261909
Description: An extension of PDMats to use singular covariance matrices

Closing in favor of https://github.com/JuliaRegistries/General/pull/111126


Documentation missing in FCHL

Documentation missing for kernel and kernel_args params in fchl_scalar_kernels
https://github.com/qmlcode/qml/blob/develop/qml/fchl/fchl_scalar_kernels.py#L49

Why u do dis :(


[SHOPIFY] wishlist implementation

Hello,
I have modified the shopify implementation to support a fully functional wishlist per customer. The architecture modifications I did were the following:

I created a new metafield for customers with namespace and key of type JSON. (I used the shopify admin store page).
In order to mutate the metafield I had to use the shopify Admin API so I also extracted the admin schema using codegen
3)I created 3 new wishlist API endpoints based on req.method of thehandler: addItem, removeItem, getWishlist
I created simple handlers for useAddItem, useRemoveItem, getWishlist based on BigCommerce handlers and shopify Cart handlers. Those handlers hit the wishlist API.
Modified shopify constants to include admin API url and Shopify Admin Access Token (you can find them in your shopify admin page)
I modified fetcher and fetcherOptions types to include useAdminApi flag, then modified the fetcher function to also use both admin and storefront api depending on the call and the method used.
Under shopify/operations I created a get-customer-wishlist operation. The operation fetches the metafield value, it parses the JSON value and creates an array of objects with each object consisting of productId, variantId pair. I then extract all products using getAllproducts operation and then filter those products by the productIds i previously extracted from the Json metafield value. I then construct the wishlist object consisting of id (you get that automatically when you add value to the metafield) and items which is an array of objects {productId, variantId, product}.

Concerning the handlers (useAddItem, useRemoveItem, getWishlist) instead of executing a query or mutation directly they just hit the api endpoint (/api/wishlist) and depending the method (get, post or delete) the corresponding function is called (get-customer-wishlist, add-item, remove-item). This was made in order to overcome the shopify admin api which restricts and admin api operations from running through the frontend.
I also added the possibility for the customer to add an item to the wishlist if an item.variant is not available for sale
I will have to clean up the code a bit before I upload it to GitHub
EDIT: https://github.com/chemmanouilidis/nextjs-ecommerce-shopify-wishlist

Thank you for your message and for raising this issue. As I can see, you have implemented this feature on your GH account as a clean repository. You have described a very interesting approach. It is similar to BigCommerce.
Are you interested in contributing to this repository by adding this feature and implementing it in a new pull request? Currently, it may be difficult to integrate your contribution (your implementation) into the main commerce repository because it is required to be updated with the latest changes and preferably a fork with git history. It would be preferable to create a PR from the forked code repository if you do not mind.
https://github.com/vercel/commerce#contribute
Thank you again for your contribution.

Ok I ll try to do so.

PR sent ! It's important to say that for the wishlist to work metafield must be created using shopify store admin page. (Settings -> Metafields -> Customers -> Add Definition and create a metafield with namespace: "my_fields" and key: "wishlist" of type JSON

I could also automate the procedure even further by modifying the use-signup shopify handler to use the admin api instead of the storefront API in order to unlock the possibility of adding the wishlist metafield creation directly when a new customer is created but I am still debating on this as admin api operations come at a cost.

ukltulitltu

Hey there! Thank you for opening this issue. We have decided to take Next.js Commerce in a new direction and will be closing out current PRs and issues due to this change. Please see this PR for more details: https://github.com/vercel/commerce/pull/966


[iCubGenova04] Remove controlboardwrapper2 in favor of controlboard_nws_yarp

Following the style of iCubGenova09.

@gabrielenava ready for review!


example does not work responding {"message":"Token cannot be null or empty","error":"INVALID_TOKEN","timestamp":1656058235313}

as the title suggests,
the simple_woker.py example in the README.md does not work

Hey @raceychan, if you're using it with a Conductor Server that has authentication (e.g. Orkes Playground), you might need to override the AuthenticationSettings, adding your actual keys. Otherwise, just ignore the AuthenticationSettings parameter :)
You can check out more details here: https://orkes.io/content/docs/getting-started/concepts/access-control

Hey @raceychan, if you're using it with a Conductor Server that has authentication (e.g. Orkes Playground), you might need to override the AuthenticationSettings, adding your actual keys. Otherwise, just ignore the AuthenticationSettings parameter :)
You can check out more details here: https://orkes.io/content/docs/getting-started/concepts/access-control

thanks for the reply, about to check that out

Closing this issue since there weren't new errors so far. Please reopen it if needed.


BitmapText renders only certain portion of text when in WEBGL and resolution property set on config

Hi
Issue occurs in 3.6.0. When using bitmaptext with WEBGL and resolution property set on config object of the Game, the bitmaptext renders only certain portion of the text. In CANVAS mode it working good.
Further, the issue does not occur when the bitmaptext is positioned at (0,0) co-ordinates.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

This issue is currently blocked pending development of the Scale Manager, which will begin during the month of May 2018. It will be updated once it has been tested against the new Scale Manager.

Thank you for submitting this issue. We have fixed this and the fix has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.

@photonstorm . Tested against 3.11.0-beta1. It's working as expected. thanks


Support for nested sections, please

Framework’s configuration allows for pages and just one level of sections.
Support for nested sections are very much appreciated. Especially for sites with tens or even hundreds of pages.

Ha. I just posted in the discussion about this.
This would be a great addition.

Funny, I was looking for the same thing. Looks like Observable does support it as seen in https://observablehq.com/documentation/notebooks/
Here is a snapshot of the page

The documentation that you linked to is not built with Framework. Although the documentation for Framework is built with Framework, the documentation for notebooks and other parts of the observablehq.com website pre-date Framework, and so use another tool, Vitepress.


chore(deps): bump https://github.com/jenkins-x/jx-cli to 3.0.108

Update jenkins-x/jx-cli to 3.0.108
Command run was ./promote/main

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign ccojocar
You can assign the PR to them by writing /assign @ccojocar in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

@jenkins-x-bot-test: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gke
55435f01fec7e9d3841bb8dfecb5fb7b8aeb5cfd
link
/test gke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.


warning csolution: key 'processor' was not recognized

My csolution.yml is like this:
# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/schemas/projmgr/0.9.0/tools/projmgr/schemas/csolution.schema.json

solution:
  target-types:
    - type: STM32U585I-IOT02A
      device: STM32U585AIIx
      processor:
        trustzone: off          # TrustZone disabled for this project
      defines:
        - STM32U585xx
        - USE_FULL_LL_DRIVER
        - USE_HAL_DRIVER

  build-types:
    - type: AC6
      compiler: AC6
    - type: GCC
      compiler: GCC

  # packs:
    # specify the DFP pack to avoid selecting the U5 device from Keil DFP pack
    # - pack: STMicroelectronics::STM32U5xx_DFP
  projects:
    - project: ./gpio-toggle.cproject.yml

And I get this issue:
frq09468@LMECWL0888  /c/Cube20/stm32cube_fw_u5/examples/hal/gpio/toggle/projects
$ csolution.exe -s gpio-toggle.csolution.yml list dependencies
C:/Cube20/stm32cube_fw_u5/examples/hal/gpio/toggle/projects/gpio-toggle.csolution.yml - warning csolution: yaml schemas were not found, file can
not be validated
C:/Cube20/stm32cube_fw_u5/examples/hal/gpio/toggle/projects/gpio-toggle.csolution.yml:7:7 - warning csolution: key 'processor' was not recognized
C:/Cube20/stm32cube_fw_u5/examples/hal/gpio/toggle/projects/gpio-toggle.cproject.yml - warning csolution: yaml schemas were not found, file cannot be validated
error csolution: context was not specified

This seems to be allowed here:
https://github.com/Open-CMSIS-Pack/devtools/blob/main/tools/projmgr/docs/Manual/YML-Format.md#build-types

Yes processor is allowed, the warning must be removed.
As soon as we have a bugfix I will inform you.
Thanks
Daniel

@fred-r, we have a new CMSIS-Toolbox release, can you please check whether the remaining issue was fixed?
https://github.com/Open-CMSIS-Pack/devtools/releases/tag/tools%2Ftoolbox%2F0.9.2
Thanks
Daniel


[beta] Adding CSS Variables Challenges

@moT01 and I are interested in developing the CSS variables challenges and look forward for your challenge ideas and feedback.
@QuincyLarson

@ahmadabdolsaheb Awesome! Yes - I recommend using this a s a reference: https://medium.freecodecamp.org/everything-you-need-to-know-about-css-variables-c74d922ea855 and putting these at the end of the CSS section.

First Draft:

1 Introduction to CSS Variables
CSS Variables are a way to quickly change multiple CSS property values throughout your stylesheet. After setting up a variable and assigning it a value, you can style other elements by referencing that variable.
2 Invent a custom CSS variable
To create a CSS Variable you just need to give it a name with two dashes in front of it, and assign it a value like this:
--primaryColor: red;
This will set a variable named primaryColor to the value of red.
Now you can use that variable elsewhere in your CSS to change the color of other properties to red.
Create a variable named secondaryColor and give it a value of pink.
3 Use a custom CSS variable
After you created your variable you can now assign the value of that variable to other CSS properties by referencing the name you gave it.
color: var(--primaryColor);
This will change the color of whatever element you are targeting to red because that is the value of the --primaryColor variable.
Note: you cannot use a variable before it is created.
Assign the --secondaryColor variable to the color property of the .element class
4 Quickly change many styles with CSS Variables
By having a variable available you can use it to apply its value to multiple CSS properties.
Create a variable named primaryColor and give it a value of red. Notice how it changes the color of all the properties that use that variable.
Note: styles will not be applied unless the variable names are an exact match.
5 Fallback values
When assigning your variable to a CSS property you can attach a fallback style that your page will revert to if for some reason it can't get your variable to work. It could be that someone is using an older browser that hasn't yet adopted CSS Variables, or perhaps their device doesn't support the value you gave the variable. Here's how you do it:
color: var(--primaryColor, blue);
This will set color to blue if there is a problem with your variable.
Note: This can be very useful for debugging.
Give the color property of .element a fallback value of blue.
6 Cascading variables
When you create your variable, it is available in to use on the element you create it in and all the elements nested within it. This effect is known as cascading. Because of this, CSS Variables are often defined in the :root element. You can think of the :root element as a container your entire HTML document in the same way that an <html> tag is a container for the <body> tag. By creating our variables in :root they will be available throughout the whole web page. In the preview you can see how --primaryColor only changes the color of the element of where it is created and the elements within it.
Change the code so that --primaryColor is created in :root and applies its style to all the elements.
7 Change a variable for a specific area of your page
When you create your variables in :root it will set the value of that variable for the whole page. Unless at some point you change the value of that variable.
Redefine --primaryColor in .element2 and change its value to blue. Notice how the element1 remains red.
Note: Use this wisely as it can almost defeat the purpose of using CSS Variables.
8 CSS Variables and media queries?
9 CSS Variable and javascript?

@ahmadabdolsaheb => https://raw.githubusercontent.com/moT01/30days30sites/master/cssVariables.txt
How does it look so far?

OK that was quick :) @moT01 .

For the 8 and 9 we could use the this article https://medium.freecodecamp.org/learn-css-variables-in-5-minutes-80cf63b4025d.
For 5 and 6, we should modify the titles to [verb] [object clause] format.

would doing something similar to this https://codepen.io/juliepark/pen/ddjPbO for the seed plausible?

made this for the seed.
https://codepen.io/abdolsa/pen/rJRpZp

@ahmadabdolsaheb This penguin looks great! I'm interested in seeing how you apply it to the challenges.
@moT01 This is a great draft. We probably won't want to have "1 Introduction to CSS Variables" - instead we want to just dive in. We want to treat these variables as though they're just another part of CSS - nothing special :)
Note that at this point this will be the camper's first exposure to variables, so we may have to quickly explain what a variable is and immediately show why it's useful, which you don't get to until "4 Quickly change many styles with CSS Variables"

@QuincyLarson CSS Variables json is ready for PR; however, since CSS Grid PR and the CSS Variables both increment the order key in the responsive-web-design-projects.json file accordingly to place it at the end of the section, I think we should merge the CSS Grid PR, and then make a PR for the CSS Variables.

Hey, @QuincyLarson - how exactly do you want these implemented? After reading this thread again I think you meant you want them at the end of the Basic CSS section? And not their own set of challenges, is that correct?


RevEng: Sqlite : Relative path for database file does not work

Repro steps
Create csproj based solution console app/class library
Install EFCore.Tools/SQLite/SQLite.Design packages
PM> pwd

Path
----
C:\Users\smpatel\Documents\Visual Studio 2015\Projects\ClassLibrary2

PM> ls *.db

    Directory: C:\Users\smpatel\Documents\Visual Studio 2015\Projects\ClassLibrary2

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        3/23/2016   4:06 PM         691200 northwind.db

PM> Scaffold-DbContext "Data Source=.\northwind.db" Microsoft.EntityFrameworkCore.Sqlite
Scaffold-DbContext : No coercion operator is defined between types 'System.String' and 'System.Char'.
At line:1 char:1
+ Scaffold-DbContext "Data Source=.\northwind.db" Microsoft.EntityFrame ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [Scaffold-DbContext], InvalidOperationException
    + FullyQualifiedErrorId : System.InvalidOperationException,Scaffold-DbContext

The db file resides in project root directory. The scaffolding command is invoked from the same directory. The filename in connection string is provided with relative path.

We should handle relative paths better, at least in the context of project directory.
If the db file is not found then we should throw exception that file is not found. Exception msg here is very confusing.

Current work-around - Use absolute path.

This is happening because at https://github.com/aspnet/EntityFramework/blob/dev/src/Microsoft.EntityFrameworkCore.Tools/tools/EntityFramework.psm1#L854 we set the current directory to be the project's target directory before we pass control to the OperationExecutor. Note: if you turn on the -Verbose flag it will tell you what current directory it's using. In this case the "current directory" is the ...\bin\Debug directory. If you arrange for northwind.db to end up in the ...\bin\Debug directory then everything works as expected.
Now this does not agree with what you see if you type pwd because that is the current directory before the tool is run. @rowanmiller @divega any comments on what the expectations should be for the current directory?

If your project.json includes the following...
{
  "copyToOutput": {
    "include": "**/*.db"
  }
}

...or you select Copy to Output Directory: Copy if newer (like you should for an existing, app-local database). Things will work as expected.

Yep I agree this is by design. That is the same result you would get if you used that connection string on your app.

Closing as by design.

I must be missing one or more things.
The exception really says "No coercion operator is defined between types 'System.String' and 'System.Char'" and that is by design?
Also, I sort of get why you have to do the copy to output directory stuff, but how are customers supposed to figure that out?

Friendly ping on this. Based on the exception message being unhelpful, I don't think we should close this, but I am ok with postponing to 1.0.1. @rowanmiller any thoughts?

Agreed, I would expect an exception related to not being able to open the database connection. But yes, I think 1.0.1 would be fine too.

FYI, @smitpatel's original expectations will be met after #7588.


heap_size_of should be unsafe

It draws attention directly by being marked safe but using a raw pointer argument.
It seems trivial to segfault using this function in safe rust, just give it a pointer to something not allocated, or a dangling pointer.
Tested using heapsize 0.1.0
heapsize::heap_size_of(2 as *const _);

This is true!

Is 2 as *const _ itself not unsafe?

No, only dereferencing it is.

https://github.com/rust-lang/rfcs/pull/1184#issuecomment-123446297

let v = vec![0; N]; v[1..].as_ptr() would have the same problem (pointer not from jemalloc).  Creating raw pointers being unsafe or not, the precondition is that the passed in pointer must have been returned from jemalloc, and that is not checkable by the type system.

cool :tropical_drink:


Unread indicators don't disappear when read

Describe the bug
For many of my conversations, the unread indicators don't disappear when I view the conversation.
Group conversations don't seem to have that problem.
To Reproduce
Steps to reproduce the behavior:

Have some atoms and make sure they are connected.
Close the window and send them some messages from their counterparts
Log in again for your user, look into the inventory. You should have some unread indicators
click on one of those. The conversation opens, but the

Expected behavior
Once I read a message, there should not be any more indicators about it. If this does not work across multiple browsers, it's ok for now .
Screenshots
I don't know how many times I've viewed this conversation, it's still highlighted:

Desktop (please complete the following information):

Windows 10
Firefox and Chrome

already fixed in branch feat__connect_with_existing, can be tested once the Pull Request is open


[GLUTEN-4596][CH] Clear unused codes

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
Fixes: #4596
How was this patch tested?
(Please explain how this patch was tested.


Send offer letter to applicant after application approval

Requirements:

[x] When user A select sends for approval, it is required for user A to upload an offer letter and select someone to approve the application.
[x] A mail is sent to the person who was requested for approval (mail contains a link to that particular application) when user A requests for approval
[x] When the approver clicks the link it takes it to that particular application.
[x] When the approver selects the Approve action, a modal pops up which shows the offer letter that was earlier uploaded by user A
[ ] When the approvers clicks on Confirm, a mail is sent to the applicant with the offer letter attached to it

The following workflow is complete

[x] When a user directly approves, that is, without sending for approval, an option to upload offer letter appears (which is a required field) and when clicks on confirm button a mail is sent to the applicant with the offer letter attached to it.

@rathorevaibhav could you please verify that we aren't missing anything here in the requirements?

@bohraji  have a look on this issue and let us know if you have any feedback on this.


[6.0] Pass a Container instance to the Pipeline

This would allow Job Middleware to use Dependency Injection, instead of using app() or resolve().
Otherwise, doing this will return a RuntimeException:
public $middleware = [
    MyJobMiddleware::class
];

RuntimeException : A container instance has not been passed to the Pipeline.

Can you add a test?


finish builder for TFMUX [development_corex]

/sandbox/code/github/threefoldtech/jumpscaleX/Jumpscale/builder/systemtools/BuildersTFMUX.py

from maxux

need to change name to corex

Please check https://github.com/threefoldtech/jumpscaleX/commit/c67252305b3d3e4fd485f5e96061ddf1c91b6c17

Please follow https://github.com/threefoldtech/corex/issues/2 btw


Create a pixmap or a pbuffer on X11 for the headless context

Instead of using OSMesa by default, try to use hardware acceleration first.

Replaced with: #1106


TestClusterLocal flakes

Recently i met several failure of TestClusterLocal
https://prow.istio.io/view/gs/istio-prow/pr-logs/pull/istio_istio/36788/integ-pilot-multicluster-tests_istio/1480827322700402688

https://prow.istio.io/view/gs/istio-prow/pr-logs/pull/istio_istio/36908/integ-pilot-multicluster_istio/1484342318780649472

So the test applies this config:
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
  name: mysvc-dr
  namespace: echo
spec:
  host: b.echo.svc.cluster.local
  subsets:
  - name: primary
    labels:
      topology.istio.io/cluster: primary
  - name: remote
    labels:
      topology.istio.io/cluster: remote
  - name: cross-network-primary
    labels:
      topology.istio.io/cluster: cross-network-primary
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: mysvc-vs
  namespace: echo
spec:
  hosts:
  - b.echo.svc.cluster.local
  http:
  - name: "primary-local"
    match:
    - sourceLabels:
        topology.istio.io/cluster: primary
    route:
    - destination:
        host: b.echo.svc.cluster.local
        subset: primary
  - name: "remote-local"
    match:
    - sourceLabels:
        topology.istio.io/cluster: remote
    route:
    - destination:
        host: b.echo.svc.cluster.local
        subset: remote
  - name: "cross-network-primary-local"
    match:
    - sourceLabels:
        topology.istio.io/cluster: cross-network-primary
    route:
    - destination:
        host: b.echo.svc.cluster.local
        subset: cross-network-primary

Then later removes it and sends requests. The failures show the remote-local route still present. Istiod configz shows it does not know the VS, and you can see Istiod triggers a push.
XDS logs shows push of v129 then v130. Only the a pod (client in this case, the only one that matters) has v129 and has the remote-local route. Others are already on v130. a pod starts the push after v129 is started but before v130 has. RDS push is 0/64 cache so unlikely a cache issue. For some reason, once it completes the full XDS push cycle, it never pushes again - so v130 is missing.
Other pods, such as b, also start before v130, and were able to push again after completion

The only things I can think of that would explain this are:

https://github.com/istio/istio/blob/32d4c998cf1be78472fb9159030f5c934caf618d/pilot/pkg/xds/ads.go#L690 is broken
PushQueue is broken

Neither seem likely...

Uni test by the same name failing... https://prow.istio.io/view/gs/istio-prow/pr-logs/pull/istio_istio/37116/unit-tests_istio/1489348847569211392

The integration test does not have workloadentry

It may be entirely unrelated then and just has the same name

Super common still. https://prow.istio.io/view/gs/istio-prow/pr-logs/pull/istio_istio/37367/integ-pilot-multicluster_istio/1493959780035727360 for example.
@nmittler I don't want to lose coverage here but worried about the impact this is having. We should look into this

I believe this started when we switched the default LB policy. We can temporarily switch back to RR while we investigate.

@ramaraochavali let's try RR and see how it goes

OK I figured it out. Its actually two bugs.

If we have a subset cluster, but not DR, we will continue to build the EDS response (https://github.com/istio/istio/blob/e3904269b7bd95207fdccd2be6f14276a3ad470a/pilot/pkg/xds/eds.go#L480). This means we can get "impossible" configs like DR with subset "empty" with matching nothing,but it has endpoints. This doesn't really occur in most cases but is still an issue
Race condition on push logic. Explained below

Say we add a config then later remove it.

v0 - add config
v1 - remove config

Consider a proxy with the following order of events:

Config added
Push v0 fully
Config removed
EDS request comes in

We fetch the NEWEST push version: https://github.com/istio/istio/blob/e3904269b7bd95207fdccd2be6f14276a3ad470a/pilot/pkg/xds/ads.go#L213. This v1, not v0
Sidecar state is stale, so we update it https://github.com/istio/istio/blob/e3904269b7bd95207fdccd2be6f14276a3ad470a/pilot/pkg/xds/ads.go#L242. This means SidecarScope=v1, PrevSidecarScope=v0. all good so bar

Now the push for v1 is triggered

Again we update the state (https://github.com/istio/istio/blob/e3904269b7bd95207fdccd2be6f14276a3ad470a/pilot/pkg/xds/ads.go#L688). Now SidecarScope=v1, and PrevSidecarScope=v1
Later we check ProxyNeedsPush. Neither sidecarscope (v1) or prev sidecarscope (also v1) depend on the DR, so we return false, skipping the push.

End results:

EDS is at v1, with bizarre EDS info (due to bug 1)
CDS is stuck at v0

Catched up with the second  bug, we are too replying on the state transition.
But I am not sure what is 1 bug actually

Bug 1:

apply some config like

apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
  name: mysvc-dr
spec:
  host: echo.default.svc.cluster.local
  subsets:
  - name: my-subset
    labels:
      topology.istio.io/cluster: remote

We get cluster for " my-subset" with 1 endpoint (only remote cluster)
Delete DR
EDS push occurs. For various reasons (the bug above, a push request, etc), we still have the " my-subset" envoy cluster. We lookup DR and find nothing, so we continue anyway
We push EDS for "subset" cluster with 3 endpoints (1 for each cluster).  This state should be impossible since we never defined a subset my-subset that allowd those endpoints

Instead, if we are a subset cluster and we do not find the subset config, we should not send an update to envoy. simple fix

Understood， I was confused by the code link in eds.go


Not possible to use an existing S3 Bucket

SST version: 0.0.194
Discord discussion: link
One of the coolest parts of SST was its ability to be used with existing infrastructure by importing existing objects, such as Buckets (e.g. https://docs.sst.dev/constructs/Bucket#importing-an-existing-bucket)
This feature seem to be missing from sst/ion completely
As a workaround, I tried to use pulumi constructs, but there are several issues:

aws.s3.BucketV2 gives errors, only aws.s3.Bucket works (sample below)
aws.s3.Bucket.onObjectCreated gives an error when used with sst commands (sample below)

Code Sample with pulumi
import * as aws from "@pulumi/aws";
import { BucketEventHandler } from "@pulumi/aws/s3";

const processor: BucketEventHandler = async (event) => {
  console.log(event);
};

async run() {
  const bucketName = process.env.S3_UPLOADS_BUCKET;
  const bucket = aws.s3.Bucket.get("Uploads", bucketName);
  bucket.onObjectCreated("Processor", processor);
}

Gives an error when applied with sst dev or sst deploy
~  Deploying

|  Error        Invalid component name "Processor". Component names must be unique.
|  Creating    Uploads aws:s3:Bucket → Processor aws:s3:BucketEventSubscription
|  Created     Uploads aws:s3:Bucket → Processor aws:s3:BucketEventSubscription

×  Failed
   Invalid component name "Processor". Component names must be unique.

This error seems straightforward, but no matter how unique/random the resource name is generated, even if the whole stack is deleted and recreated, the error is still there -- looks like an issue with pulumi when being invoked with sst

using existing resources will work a bit differently in ion
we're still working on this feature but basically you will run something like sst import MyBucket <my-existing-resource> which will do a one time import into your state
from there everything will work as though sst created the resource in the first place
the issue you're running into though is unrelated i will look into it

so assume you have an existing bucket provisioned by terraform
you cannot really have two tools that own the same bucket so it does not make sense to do something like the following
new sst.aws.Bucket("MyBucket", { importFrom: "existingbucket" })

if you change properties on here should it change the underlying bucket? if so then the terraform deployment will see it it as drift and revert it
you basically have to pick which is the source of truth - if it's terraform then you have no need to use sst.aws.Bucket - you can just grab the existing one if you need to reference with aws.s3.getBucket
if you want to hand off ownership to sst then you do a one time sst import which will import the state of it into the state file - from then on it's no different than the bucket originally being created by sst

In v0.0.254, you can now subscribe to a pre-existing bucket like this - https://ion.sst.dev/docs/component/aws/bucket/#static-subscribe.


Update the send_message function's data param type to use Bytes

The first version of a std-lib wrapper for the smo opcode takes a data param of type Vec<u8>.
With the introduction of the new Bytes type, we can now update the original function to use the more appropriate type.
cc @mohammadfawaz

closed by #3625